# The PEP 484 type hints stub file for the QtCore module.
#
# Generated by SIP 6.10.0
#
# Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
# 
# This file is part of PyQt6.
# 
# This file may be used under the terms of the GNU General Public License
# version 3.0 as published by the Free Software Foundation and appearing in
# the file LICENSE included in the packaging of this file.  Please review the
# following information to ensure the GNU General Public License version 3.0
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
# 
# If you do not wish to use this file under the terms of the GPL version 3.0
# then you may purchase a commercial license.  For more information contact
# info@riverbankcomputing.com.
# 
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


import collections, re, typing, enum

try:
    from warnings import deprecated
except ImportError:
    pass

import PyQt6.sip

# Support for QDate, QDateTime and QTime.
import datetime


# Support for new-style signals and slots.
class pyqtSignal:

    signatures = ...    # type: tuple[str, ...]

    def __init__(self, *types: typing.Any, name: str = ...) -> None: ...

    @typing.overload
    def __get__(self, instance: None, owner: type['QObject']) -> 'pyqtSignal': ...

    @typing.overload
    def __get__(self, instance: 'QObject', owner: type['QObject']) -> 'pyqtBoundSignal': ...



class pyqtBoundSignal:

    signal = ...        # type: str

    def __getitem__(self, key: object) -> 'pyqtBoundSignal': ...

    def connect(self, slot: 'PYQT_SLOT') -> 'QMetaObject.Connection': ...

    @typing.overload
    def disconnect(self) -> None: ...

    @typing.overload
    def disconnect(self, slot: typing.Union['PYQT_SLOT', 'QMetaObject.Connection']) -> None: ...

    def emit(self, *args: typing.Any) -> None: ...


FuncT = typing.TypeVar('FuncT', bound=collections.abc.Callable)
def pyqtSlot(*types, name: typing.Optional[str] = ..., result: typing.Optional[str] = ...) -> collections.abc.Callable[[FuncT], FuncT]: ...


# For QObject.findChild() and QObject.findChildren().
QObjectT = typing.TypeVar('QObjectT', bound=QObject)


# Convenient type aliases.
PYQT_SIGNAL = typing.Union[pyqtSignal, pyqtBoundSignal]
PYQT_SLOT = typing.Union[collections.abc.Callable[..., Any], pyqtBoundSignal]


class QtMsgType(enum.Enum):
    QtDebugMsg = ... # type: QtMsgType
    QtWarningMsg = ... # type: QtMsgType
    QtCriticalMsg = ... # type: QtMsgType
    QtFatalMsg = ... # type: QtMsgType
    QtSystemMsg = ... # type: QtMsgType
    QtInfoMsg = ... # type: QtMsgType


class QCborKnownTags(enum.Enum):
    DateTimeString = ... # type: QCborKnownTags
    UnixTime_t = ... # type: QCborKnownTags
    PositiveBignum = ... # type: QCborKnownTags
    NegativeBignum = ... # type: QCborKnownTags
    Decimal = ... # type: QCborKnownTags
    Bigfloat = ... # type: QCborKnownTags
    COSE_Encrypt0 = ... # type: QCborKnownTags
    COSE_Mac0 = ... # type: QCborKnownTags
    COSE_Sign1 = ... # type: QCborKnownTags
    ExpectedBase64url = ... # type: QCborKnownTags
    ExpectedBase64 = ... # type: QCborKnownTags
    ExpectedBase16 = ... # type: QCborKnownTags
    EncodedCbor = ... # type: QCborKnownTags
    Url = ... # type: QCborKnownTags
    Base64url = ... # type: QCborKnownTags
    Base64 = ... # type: QCborKnownTags
    RegularExpression = ... # type: QCborKnownTags
    MimeMessage = ... # type: QCborKnownTags
    Uuid = ... # type: QCborKnownTags
    COSE_Encrypt = ... # type: QCborKnownTags
    COSE_Mac = ... # type: QCborKnownTags
    COSE_Sign = ... # type: QCborKnownTags
    Signature = ... # type: QCborKnownTags


class QCborSimpleType(enum.Enum):
    False_ = ... # type: QCborSimpleType
    True_ = ... # type: QCborSimpleType
    Null = ... # type: QCborSimpleType
    Undefined = ... # type: QCborSimpleType


class Qt(PyQt6.sip.simplewrapper):

    class ContextMenuTrigger(enum.Enum):
        Press = ... # type: Qt.ContextMenuTrigger
        Release = ... # type: Qt.ContextMenuTrigger

    class PermissionStatus(enum.Enum):
        Undetermined = ... # type: Qt.PermissionStatus
        Granted = ... # type: Qt.PermissionStatus
        Denied = ... # type: Qt.PermissionStatus

    class ColorScheme(enum.Enum):
        Unknown = ... # type: Qt.ColorScheme
        Light = ... # type: Qt.ColorScheme
        Dark = ... # type: Qt.ColorScheme

    class HighDpiScaleFactorRoundingPolicy(enum.Enum):
        Round = ... # type: Qt.HighDpiScaleFactorRoundingPolicy
        Ceil = ... # type: Qt.HighDpiScaleFactorRoundingPolicy
        Floor = ... # type: Qt.HighDpiScaleFactorRoundingPolicy
        RoundPreferFloor = ... # type: Qt.HighDpiScaleFactorRoundingPolicy
        PassThrough = ... # type: Qt.HighDpiScaleFactorRoundingPolicy

    class ChecksumType(enum.Enum):
        ChecksumIso3309 = ... # type: Qt.ChecksumType
        ChecksumItuV41 = ... # type: Qt.ChecksumType

    class EnterKeyType(enum.Enum):
        EnterKeyDefault = ... # type: Qt.EnterKeyType
        EnterKeyReturn = ... # type: Qt.EnterKeyType
        EnterKeyDone = ... # type: Qt.EnterKeyType
        EnterKeyGo = ... # type: Qt.EnterKeyType
        EnterKeySend = ... # type: Qt.EnterKeyType
        EnterKeySearch = ... # type: Qt.EnterKeyType
        EnterKeyNext = ... # type: Qt.EnterKeyType
        EnterKeyPrevious = ... # type: Qt.EnterKeyType

    class ItemSelectionOperation(enum.Enum):
        ReplaceSelection = ... # type: Qt.ItemSelectionOperation
        AddToSelection = ... # type: Qt.ItemSelectionOperation

    class TabFocusBehavior(enum.Enum):
        NoTabFocus = ... # type: Qt.TabFocusBehavior
        TabFocusTextControls = ... # type: Qt.TabFocusBehavior
        TabFocusListControls = ... # type: Qt.TabFocusBehavior
        TabFocusAllControls = ... # type: Qt.TabFocusBehavior

    class MouseEventFlag(enum.Flag):
        MouseEventCreatedDoubleClick = ... # type: Qt.MouseEventFlag

    class MouseEventSource(enum.Enum):
        MouseEventNotSynthesized = ... # type: Qt.MouseEventSource
        MouseEventSynthesizedBySystem = ... # type: Qt.MouseEventSource
        MouseEventSynthesizedByQt = ... # type: Qt.MouseEventSource
        MouseEventSynthesizedByApplication = ... # type: Qt.MouseEventSource

    class ScrollPhase(enum.Enum):
        ScrollBegin = ... # type: Qt.ScrollPhase
        ScrollUpdate = ... # type: Qt.ScrollPhase
        ScrollEnd = ... # type: Qt.ScrollPhase
        NoScrollPhase = ... # type: Qt.ScrollPhase
        ScrollMomentum = ... # type: Qt.ScrollPhase

    class NativeGestureType(enum.Enum):
        BeginNativeGesture = ... # type: Qt.NativeGestureType
        EndNativeGesture = ... # type: Qt.NativeGestureType
        PanNativeGesture = ... # type: Qt.NativeGestureType
        ZoomNativeGesture = ... # type: Qt.NativeGestureType
        SmartZoomNativeGesture = ... # type: Qt.NativeGestureType
        RotateNativeGesture = ... # type: Qt.NativeGestureType
        SwipeNativeGesture = ... # type: Qt.NativeGestureType

    class Edge(enum.Flag):
        TopEdge = ... # type: Qt.Edge
        LeftEdge = ... # type: Qt.Edge
        RightEdge = ... # type: Qt.Edge
        BottomEdge = ... # type: Qt.Edge

    class ApplicationState(enum.Flag):
        ApplicationSuspended = ... # type: Qt.ApplicationState
        ApplicationHidden = ... # type: Qt.ApplicationState
        ApplicationInactive = ... # type: Qt.ApplicationState
        ApplicationActive = ... # type: Qt.ApplicationState

    class HitTestAccuracy(enum.Enum):
        ExactHit = ... # type: Qt.HitTestAccuracy
        FuzzyHit = ... # type: Qt.HitTestAccuracy

    class WhiteSpaceMode(enum.Enum):
        WhiteSpaceNormal = ... # type: Qt.WhiteSpaceMode
        WhiteSpacePre = ... # type: Qt.WhiteSpaceMode
        WhiteSpaceNoWrap = ... # type: Qt.WhiteSpaceMode
        WhiteSpaceModeUndefined = ... # type: Qt.WhiteSpaceMode

    class FindChildOption(enum.Flag):
        FindDirectChildrenOnly = ... # type: Qt.FindChildOption
        FindChildrenRecursively = ... # type: Qt.FindChildOption

    class ScreenOrientation(enum.Flag):
        PrimaryOrientation = ... # type: Qt.ScreenOrientation
        PortraitOrientation = ... # type: Qt.ScreenOrientation
        LandscapeOrientation = ... # type: Qt.ScreenOrientation
        InvertedPortraitOrientation = ... # type: Qt.ScreenOrientation
        InvertedLandscapeOrientation = ... # type: Qt.ScreenOrientation

    class CursorMoveStyle(enum.Enum):
        LogicalMoveStyle = ... # type: Qt.CursorMoveStyle
        VisualMoveStyle = ... # type: Qt.CursorMoveStyle

    class NavigationMode(enum.Enum):
        NavigationModeNone = ... # type: Qt.NavigationMode
        NavigationModeKeypadTabOrder = ... # type: Qt.NavigationMode
        NavigationModeKeypadDirectional = ... # type: Qt.NavigationMode
        NavigationModeCursorAuto = ... # type: Qt.NavigationMode
        NavigationModeCursorForceVisible = ... # type: Qt.NavigationMode

    class GestureFlag(enum.Flag):
        DontStartGestureOnChildren = ... # type: Qt.GestureFlag
        ReceivePartialGestures = ... # type: Qt.GestureFlag
        IgnoredGesturesPropagateToParent = ... # type: Qt.GestureFlag

    class GestureType(enum.IntEnum):
        TapGesture = ... # type: Qt.GestureType
        TapAndHoldGesture = ... # type: Qt.GestureType
        PanGesture = ... # type: Qt.GestureType
        PinchGesture = ... # type: Qt.GestureType
        SwipeGesture = ... # type: Qt.GestureType
        CustomGesture = ... # type: Qt.GestureType

    class GestureState(enum.Enum):
        GestureStarted = ... # type: Qt.GestureState
        GestureUpdated = ... # type: Qt.GestureState
        GestureFinished = ... # type: Qt.GestureState
        GestureCanceled = ... # type: Qt.GestureState

    class TouchPointState(enum.Flag):
        TouchPointUnknownState = ... # type: Qt.TouchPointState
        TouchPointPressed = ... # type: Qt.TouchPointState
        TouchPointMoved = ... # type: Qt.TouchPointState
        TouchPointStationary = ... # type: Qt.TouchPointState
        TouchPointReleased = ... # type: Qt.TouchPointState

    class CoordinateSystem(enum.Enum):
        DeviceCoordinates = ... # type: Qt.CoordinateSystem
        LogicalCoordinates = ... # type: Qt.CoordinateSystem

    class AnchorPoint(enum.Enum):
        AnchorLeft = ... # type: Qt.AnchorPoint
        AnchorHorizontalCenter = ... # type: Qt.AnchorPoint
        AnchorRight = ... # type: Qt.AnchorPoint
        AnchorTop = ... # type: Qt.AnchorPoint
        AnchorVerticalCenter = ... # type: Qt.AnchorPoint
        AnchorBottom = ... # type: Qt.AnchorPoint

    class InputMethodHint(enum.Flag):
        ImhNone = ... # type: Qt.InputMethodHint
        ImhHiddenText = ... # type: Qt.InputMethodHint
        ImhNoAutoUppercase = ... # type: Qt.InputMethodHint
        ImhPreferNumbers = ... # type: Qt.InputMethodHint
        ImhPreferUppercase = ... # type: Qt.InputMethodHint
        ImhPreferLowercase = ... # type: Qt.InputMethodHint
        ImhNoPredictiveText = ... # type: Qt.InputMethodHint
        ImhDigitsOnly = ... # type: Qt.InputMethodHint
        ImhFormattedNumbersOnly = ... # type: Qt.InputMethodHint
        ImhUppercaseOnly = ... # type: Qt.InputMethodHint
        ImhLowercaseOnly = ... # type: Qt.InputMethodHint
        ImhDialableCharactersOnly = ... # type: Qt.InputMethodHint
        ImhEmailCharactersOnly = ... # type: Qt.InputMethodHint
        ImhUrlCharactersOnly = ... # type: Qt.InputMethodHint
        ImhExclusiveInputMask = ... # type: Qt.InputMethodHint
        ImhSensitiveData = ... # type: Qt.InputMethodHint
        ImhDate = ... # type: Qt.InputMethodHint
        ImhTime = ... # type: Qt.InputMethodHint
        ImhPreferLatin = ... # type: Qt.InputMethodHint
        ImhLatinOnly = ... # type: Qt.InputMethodHint
        ImhMultiLine = ... # type: Qt.InputMethodHint
        ImhNoEditMenu = ... # type: Qt.InputMethodHint
        ImhNoTextHandles = ... # type: Qt.InputMethodHint

    class TileRule(enum.Enum):
        StretchTile = ... # type: Qt.TileRule
        RepeatTile = ... # type: Qt.TileRule
        RoundTile = ... # type: Qt.TileRule

    class WindowFrameSection(enum.Enum):
        NoSection = ... # type: Qt.WindowFrameSection
        LeftSection = ... # type: Qt.WindowFrameSection
        TopLeftSection = ... # type: Qt.WindowFrameSection
        TopSection = ... # type: Qt.WindowFrameSection
        TopRightSection = ... # type: Qt.WindowFrameSection
        RightSection = ... # type: Qt.WindowFrameSection
        BottomRightSection = ... # type: Qt.WindowFrameSection
        BottomSection = ... # type: Qt.WindowFrameSection
        BottomLeftSection = ... # type: Qt.WindowFrameSection
        TitleBarArea = ... # type: Qt.WindowFrameSection

    class SizeHint(enum.Enum):
        MinimumSize = ... # type: Qt.SizeHint
        PreferredSize = ... # type: Qt.SizeHint
        MaximumSize = ... # type: Qt.SizeHint
        MinimumDescent = ... # type: Qt.SizeHint

    class SizeMode(enum.Enum):
        AbsoluteSize = ... # type: Qt.SizeMode
        RelativeSize = ... # type: Qt.SizeMode

    class EventPriority(enum.Enum):
        HighEventPriority = ... # type: Qt.EventPriority
        NormalEventPriority = ... # type: Qt.EventPriority
        LowEventPriority = ... # type: Qt.EventPriority

    class Axis(enum.Enum):
        XAxis = ... # type: Qt.Axis
        YAxis = ... # type: Qt.Axis
        ZAxis = ... # type: Qt.Axis

    class MaskMode(enum.Enum):
        MaskInColor = ... # type: Qt.MaskMode
        MaskOutColor = ... # type: Qt.MaskMode

    class TextInteractionFlag(enum.Flag):
        NoTextInteraction = ... # type: Qt.TextInteractionFlag
        TextSelectableByMouse = ... # type: Qt.TextInteractionFlag
        TextSelectableByKeyboard = ... # type: Qt.TextInteractionFlag
        LinksAccessibleByMouse = ... # type: Qt.TextInteractionFlag
        LinksAccessibleByKeyboard = ... # type: Qt.TextInteractionFlag
        TextEditable = ... # type: Qt.TextInteractionFlag
        TextEditorInteraction = ... # type: Qt.TextInteractionFlag
        TextBrowserInteraction = ... # type: Qt.TextInteractionFlag

    class ItemSelectionMode(enum.Enum):
        ContainsItemShape = ... # type: Qt.ItemSelectionMode
        IntersectsItemShape = ... # type: Qt.ItemSelectionMode
        ContainsItemBoundingRect = ... # type: Qt.ItemSelectionMode
        IntersectsItemBoundingRect = ... # type: Qt.ItemSelectionMode

    class ApplicationAttribute(enum.Enum):
        AA_DontShowIconsInMenus = ... # type: Qt.ApplicationAttribute
        AA_NativeWindows = ... # type: Qt.ApplicationAttribute
        AA_DontCreateNativeWidgetSiblings = ... # type: Qt.ApplicationAttribute
        AA_DontUseNativeMenuBar = ... # type: Qt.ApplicationAttribute
        AA_MacDontSwapCtrlAndMeta = ... # type: Qt.ApplicationAttribute
        AA_Use96Dpi = ... # type: Qt.ApplicationAttribute
        AA_SynthesizeTouchForUnhandledMouseEvents = ... # type: Qt.ApplicationAttribute
        AA_SynthesizeMouseForUnhandledTouchEvents = ... # type: Qt.ApplicationAttribute
        AA_ForceRasterWidgets = ... # type: Qt.ApplicationAttribute
        AA_UseDesktopOpenGL = ... # type: Qt.ApplicationAttribute
        AA_UseOpenGLES = ... # type: Qt.ApplicationAttribute
        AA_UseSoftwareOpenGL = ... # type: Qt.ApplicationAttribute
        AA_ShareOpenGLContexts = ... # type: Qt.ApplicationAttribute
        AA_SetPalette = ... # type: Qt.ApplicationAttribute
        AA_PluginApplication = ... # type: Qt.ApplicationAttribute
        AA_UseStyleSheetPropagationInWidgetStyles = ... # type: Qt.ApplicationAttribute
        AA_DontUseNativeDialogs = ... # type: Qt.ApplicationAttribute
        AA_SynthesizeMouseForUnhandledTabletEvents = ... # type: Qt.ApplicationAttribute
        AA_CompressHighFrequencyEvents = ... # type: Qt.ApplicationAttribute
        AA_DontCheckOpenGLContextThreadAffinity = ... # type: Qt.ApplicationAttribute
        AA_DisableShaderDiskCache = ... # type: Qt.ApplicationAttribute
        AA_DontShowShortcutsInContextMenus = ... # type: Qt.ApplicationAttribute
        AA_CompressTabletEvents = ... # type: Qt.ApplicationAttribute
        AA_DisableSessionManager = ... # type: Qt.ApplicationAttribute
        AA_DisableNativeVirtualKeyboard = ... # type: Qt.ApplicationAttribute
        AA_QtQuickUseDefaultSizePolicy = ... # type: Qt.ApplicationAttribute
        AA_DontUseNativeMenuWindows = ... # type: Qt.ApplicationAttribute

    class WindowModality(enum.Enum):
        NonModal = ... # type: Qt.WindowModality
        WindowModal = ... # type: Qt.WindowModality
        ApplicationModal = ... # type: Qt.WindowModality

    class MatchFlag(enum.Flag):
        MatchExactly = ... # type: Qt.MatchFlag
        MatchFixedString = ... # type: Qt.MatchFlag
        MatchContains = ... # type: Qt.MatchFlag
        MatchStartsWith = ... # type: Qt.MatchFlag
        MatchEndsWith = ... # type: Qt.MatchFlag
        MatchWildcard = ... # type: Qt.MatchFlag
        MatchCaseSensitive = ... # type: Qt.MatchFlag
        MatchWrap = ... # type: Qt.MatchFlag
        MatchRecursive = ... # type: Qt.MatchFlag
        MatchRegularExpression = ... # type: Qt.MatchFlag

    class ItemFlag(enum.Flag):
        NoItemFlags = ... # type: Qt.ItemFlag
        ItemIsSelectable = ... # type: Qt.ItemFlag
        ItemIsEditable = ... # type: Qt.ItemFlag
        ItemIsDragEnabled = ... # type: Qt.ItemFlag
        ItemIsDropEnabled = ... # type: Qt.ItemFlag
        ItemIsUserCheckable = ... # type: Qt.ItemFlag
        ItemIsEnabled = ... # type: Qt.ItemFlag
        ItemNeverHasChildren = ... # type: Qt.ItemFlag
        ItemIsUserTristate = ... # type: Qt.ItemFlag
        ItemIsAutoTristate = ... # type: Qt.ItemFlag

    class ItemDataRole(enum.IntEnum):
        DisplayRole = ... # type: Qt.ItemDataRole
        DecorationRole = ... # type: Qt.ItemDataRole
        EditRole = ... # type: Qt.ItemDataRole
        ToolTipRole = ... # type: Qt.ItemDataRole
        StatusTipRole = ... # type: Qt.ItemDataRole
        WhatsThisRole = ... # type: Qt.ItemDataRole
        FontRole = ... # type: Qt.ItemDataRole
        TextAlignmentRole = ... # type: Qt.ItemDataRole
        BackgroundRole = ... # type: Qt.ItemDataRole
        ForegroundRole = ... # type: Qt.ItemDataRole
        CheckStateRole = ... # type: Qt.ItemDataRole
        AccessibleTextRole = ... # type: Qt.ItemDataRole
        AccessibleDescriptionRole = ... # type: Qt.ItemDataRole
        SizeHintRole = ... # type: Qt.ItemDataRole
        InitialSortOrderRole = ... # type: Qt.ItemDataRole
        UserRole = ... # type: Qt.ItemDataRole

    class CheckState(enum.Enum):
        Unchecked = ... # type: Qt.CheckState
        PartiallyChecked = ... # type: Qt.CheckState
        Checked = ... # type: Qt.CheckState

    class DropAction(enum.Flag):
        CopyAction = ... # type: Qt.DropAction
        MoveAction = ... # type: Qt.DropAction
        LinkAction = ... # type: Qt.DropAction
        ActionMask = ... # type: Qt.DropAction
        TargetMoveAction = ... # type: Qt.DropAction
        IgnoreAction = ... # type: Qt.DropAction

    class LayoutDirection(enum.Enum):
        LeftToRight = ... # type: Qt.LayoutDirection
        RightToLeft = ... # type: Qt.LayoutDirection
        LayoutDirectionAuto = ... # type: Qt.LayoutDirection

    class ToolButtonStyle(enum.Enum):
        ToolButtonIconOnly = ... # type: Qt.ToolButtonStyle
        ToolButtonTextOnly = ... # type: Qt.ToolButtonStyle
        ToolButtonTextBesideIcon = ... # type: Qt.ToolButtonStyle
        ToolButtonTextUnderIcon = ... # type: Qt.ToolButtonStyle
        ToolButtonFollowStyle = ... # type: Qt.ToolButtonStyle

    class InputMethodQuery(enum.Flag):
        ImFont = ... # type: Qt.InputMethodQuery
        ImCursorPosition = ... # type: Qt.InputMethodQuery
        ImSurroundingText = ... # type: Qt.InputMethodQuery
        ImCurrentSelection = ... # type: Qt.InputMethodQuery
        ImMaximumTextLength = ... # type: Qt.InputMethodQuery
        ImAnchorPosition = ... # type: Qt.InputMethodQuery
        ImEnabled = ... # type: Qt.InputMethodQuery
        ImCursorRectangle = ... # type: Qt.InputMethodQuery
        ImHints = ... # type: Qt.InputMethodQuery
        ImPreferredLanguage = ... # type: Qt.InputMethodQuery
        ImPlatformData = ... # type: Qt.InputMethodQuery
        ImQueryInput = ... # type: Qt.InputMethodQuery
        ImQueryAll = ... # type: Qt.InputMethodQuery
        ImAbsolutePosition = ... # type: Qt.InputMethodQuery
        ImTextBeforeCursor = ... # type: Qt.InputMethodQuery
        ImTextAfterCursor = ... # type: Qt.InputMethodQuery
        ImEnterKeyType = ... # type: Qt.InputMethodQuery
        ImAnchorRectangle = ... # type: Qt.InputMethodQuery
        ImInputItemClipRectangle = ... # type: Qt.InputMethodQuery
        ImReadOnly = ... # type: Qt.InputMethodQuery

    class ContextMenuPolicy(enum.Enum):
        NoContextMenu = ... # type: Qt.ContextMenuPolicy
        PreventContextMenu = ... # type: Qt.ContextMenuPolicy
        DefaultContextMenu = ... # type: Qt.ContextMenuPolicy
        ActionsContextMenu = ... # type: Qt.ContextMenuPolicy
        CustomContextMenu = ... # type: Qt.ContextMenuPolicy

    class FocusReason(enum.Enum):
        MouseFocusReason = ... # type: Qt.FocusReason
        TabFocusReason = ... # type: Qt.FocusReason
        BacktabFocusReason = ... # type: Qt.FocusReason
        ActiveWindowFocusReason = ... # type: Qt.FocusReason
        PopupFocusReason = ... # type: Qt.FocusReason
        ShortcutFocusReason = ... # type: Qt.FocusReason
        MenuBarFocusReason = ... # type: Qt.FocusReason
        OtherFocusReason = ... # type: Qt.FocusReason
        NoFocusReason = ... # type: Qt.FocusReason

    class TransformationMode(enum.Enum):
        FastTransformation = ... # type: Qt.TransformationMode
        SmoothTransformation = ... # type: Qt.TransformationMode

    class ClipOperation(enum.Enum):
        NoClip = ... # type: Qt.ClipOperation
        ReplaceClip = ... # type: Qt.ClipOperation
        IntersectClip = ... # type: Qt.ClipOperation

    class FillRule(enum.Enum):
        OddEvenFill = ... # type: Qt.FillRule
        WindingFill = ... # type: Qt.FillRule

    class ShortcutContext(enum.Enum):
        WidgetShortcut = ... # type: Qt.ShortcutContext
        WindowShortcut = ... # type: Qt.ShortcutContext
        ApplicationShortcut = ... # type: Qt.ShortcutContext
        WidgetWithChildrenShortcut = ... # type: Qt.ShortcutContext

    class ConnectionType(enum.Enum):
        AutoConnection = ... # type: Qt.ConnectionType
        DirectConnection = ... # type: Qt.ConnectionType
        QueuedConnection = ... # type: Qt.ConnectionType
        BlockingQueuedConnection = ... # type: Qt.ConnectionType
        UniqueConnection = ... # type: Qt.ConnectionType
        SingleShotConnection = ... # type: Qt.ConnectionType

    class Corner(enum.Enum):
        TopLeftCorner = ... # type: Qt.Corner
        TopRightCorner = ... # type: Qt.Corner
        BottomLeftCorner = ... # type: Qt.Corner
        BottomRightCorner = ... # type: Qt.Corner

    class CaseSensitivity(enum.Enum):
        CaseInsensitive = ... # type: Qt.CaseSensitivity
        CaseSensitive = ... # type: Qt.CaseSensitivity

    class ScrollBarPolicy(enum.Enum):
        ScrollBarAsNeeded = ... # type: Qt.ScrollBarPolicy
        ScrollBarAlwaysOff = ... # type: Qt.ScrollBarPolicy
        ScrollBarAlwaysOn = ... # type: Qt.ScrollBarPolicy

    class DayOfWeek(enum.Enum):
        Monday = ... # type: Qt.DayOfWeek
        Tuesday = ... # type: Qt.DayOfWeek
        Wednesday = ... # type: Qt.DayOfWeek
        Thursday = ... # type: Qt.DayOfWeek
        Friday = ... # type: Qt.DayOfWeek
        Saturday = ... # type: Qt.DayOfWeek
        Sunday = ... # type: Qt.DayOfWeek

    class TimeSpec(enum.Enum):
        LocalTime = ... # type: Qt.TimeSpec
        UTC = ... # type: Qt.TimeSpec
        OffsetFromUTC = ... # type: Qt.TimeSpec
        TimeZone = ... # type: Qt.TimeSpec

    class DateFormat(enum.Enum):
        TextDate = ... # type: Qt.DateFormat
        ISODate = ... # type: Qt.DateFormat
        ISODateWithMs = ... # type: Qt.DateFormat
        RFC2822Date = ... # type: Qt.DateFormat

    class ToolBarArea(enum.Flag):
        LeftToolBarArea = ... # type: Qt.ToolBarArea
        RightToolBarArea = ... # type: Qt.ToolBarArea
        TopToolBarArea = ... # type: Qt.ToolBarArea
        BottomToolBarArea = ... # type: Qt.ToolBarArea
        AllToolBarAreas = ... # type: Qt.ToolBarArea
        NoToolBarArea = ... # type: Qt.ToolBarArea

    class TimerType(enum.Enum):
        PreciseTimer = ... # type: Qt.TimerType
        CoarseTimer = ... # type: Qt.TimerType
        VeryCoarseTimer = ... # type: Qt.TimerType

    class DockWidgetArea(enum.Flag):
        LeftDockWidgetArea = ... # type: Qt.DockWidgetArea
        RightDockWidgetArea = ... # type: Qt.DockWidgetArea
        TopDockWidgetArea = ... # type: Qt.DockWidgetArea
        BottomDockWidgetArea = ... # type: Qt.DockWidgetArea
        AllDockWidgetAreas = ... # type: Qt.DockWidgetArea
        NoDockWidgetArea = ... # type: Qt.DockWidgetArea

    class AspectRatioMode(enum.Enum):
        IgnoreAspectRatio = ... # type: Qt.AspectRatioMode
        KeepAspectRatio = ... # type: Qt.AspectRatioMode
        KeepAspectRatioByExpanding = ... # type: Qt.AspectRatioMode

    class TextFormat(enum.Enum):
        PlainText = ... # type: Qt.TextFormat
        RichText = ... # type: Qt.TextFormat
        AutoText = ... # type: Qt.TextFormat
        MarkdownText = ... # type: Qt.TextFormat

    class CursorShape(enum.Enum):
        ArrowCursor = ... # type: Qt.CursorShape
        UpArrowCursor = ... # type: Qt.CursorShape
        CrossCursor = ... # type: Qt.CursorShape
        WaitCursor = ... # type: Qt.CursorShape
        IBeamCursor = ... # type: Qt.CursorShape
        SizeVerCursor = ... # type: Qt.CursorShape
        SizeHorCursor = ... # type: Qt.CursorShape
        SizeBDiagCursor = ... # type: Qt.CursorShape
        SizeFDiagCursor = ... # type: Qt.CursorShape
        SizeAllCursor = ... # type: Qt.CursorShape
        BlankCursor = ... # type: Qt.CursorShape
        SplitVCursor = ... # type: Qt.CursorShape
        SplitHCursor = ... # type: Qt.CursorShape
        PointingHandCursor = ... # type: Qt.CursorShape
        ForbiddenCursor = ... # type: Qt.CursorShape
        OpenHandCursor = ... # type: Qt.CursorShape
        ClosedHandCursor = ... # type: Qt.CursorShape
        WhatsThisCursor = ... # type: Qt.CursorShape
        BusyCursor = ... # type: Qt.CursorShape
        LastCursor = ... # type: Qt.CursorShape
        BitmapCursor = ... # type: Qt.CursorShape
        CustomCursor = ... # type: Qt.CursorShape
        DragCopyCursor = ... # type: Qt.CursorShape
        DragMoveCursor = ... # type: Qt.CursorShape
        DragLinkCursor = ... # type: Qt.CursorShape

    class UIEffect(enum.Enum):
        UI_General = ... # type: Qt.UIEffect
        UI_AnimateMenu = ... # type: Qt.UIEffect
        UI_FadeMenu = ... # type: Qt.UIEffect
        UI_AnimateCombo = ... # type: Qt.UIEffect
        UI_AnimateTooltip = ... # type: Qt.UIEffect
        UI_FadeTooltip = ... # type: Qt.UIEffect
        UI_AnimateToolBox = ... # type: Qt.UIEffect

    class BrushStyle(enum.Enum):
        NoBrush = ... # type: Qt.BrushStyle
        SolidPattern = ... # type: Qt.BrushStyle
        Dense1Pattern = ... # type: Qt.BrushStyle
        Dense2Pattern = ... # type: Qt.BrushStyle
        Dense3Pattern = ... # type: Qt.BrushStyle
        Dense4Pattern = ... # type: Qt.BrushStyle
        Dense5Pattern = ... # type: Qt.BrushStyle
        Dense6Pattern = ... # type: Qt.BrushStyle
        Dense7Pattern = ... # type: Qt.BrushStyle
        HorPattern = ... # type: Qt.BrushStyle
        VerPattern = ... # type: Qt.BrushStyle
        CrossPattern = ... # type: Qt.BrushStyle
        BDiagPattern = ... # type: Qt.BrushStyle
        FDiagPattern = ... # type: Qt.BrushStyle
        DiagCrossPattern = ... # type: Qt.BrushStyle
        LinearGradientPattern = ... # type: Qt.BrushStyle
        RadialGradientPattern = ... # type: Qt.BrushStyle
        ConicalGradientPattern = ... # type: Qt.BrushStyle
        TexturePattern = ... # type: Qt.BrushStyle

    class PenJoinStyle(enum.Enum):
        MiterJoin = ... # type: Qt.PenJoinStyle
        BevelJoin = ... # type: Qt.PenJoinStyle
        RoundJoin = ... # type: Qt.PenJoinStyle
        MPenJoinStyle = ... # type: Qt.PenJoinStyle
        SvgMiterJoin = ... # type: Qt.PenJoinStyle

    class PenCapStyle(enum.Enum):
        FlatCap = ... # type: Qt.PenCapStyle
        SquareCap = ... # type: Qt.PenCapStyle
        RoundCap = ... # type: Qt.PenCapStyle

    class PenStyle(enum.Enum):
        NoPen = ... # type: Qt.PenStyle
        SolidLine = ... # type: Qt.PenStyle
        DashLine = ... # type: Qt.PenStyle
        DotLine = ... # type: Qt.PenStyle
        DashDotLine = ... # type: Qt.PenStyle
        DashDotDotLine = ... # type: Qt.PenStyle
        CustomDashLine = ... # type: Qt.PenStyle

    class ArrowType(enum.Enum):
        NoArrow = ... # type: Qt.ArrowType
        UpArrow = ... # type: Qt.ArrowType
        DownArrow = ... # type: Qt.ArrowType
        LeftArrow = ... # type: Qt.ArrowType
        RightArrow = ... # type: Qt.ArrowType

    class Key(enum.IntEnum):
        Key_Escape = ... # type: Qt.Key
        Key_Tab = ... # type: Qt.Key
        Key_Backtab = ... # type: Qt.Key
        Key_Backspace = ... # type: Qt.Key
        Key_Return = ... # type: Qt.Key
        Key_Enter = ... # type: Qt.Key
        Key_Insert = ... # type: Qt.Key
        Key_Delete = ... # type: Qt.Key
        Key_Pause = ... # type: Qt.Key
        Key_Print = ... # type: Qt.Key
        Key_SysReq = ... # type: Qt.Key
        Key_Clear = ... # type: Qt.Key
        Key_Home = ... # type: Qt.Key
        Key_End = ... # type: Qt.Key
        Key_Left = ... # type: Qt.Key
        Key_Up = ... # type: Qt.Key
        Key_Right = ... # type: Qt.Key
        Key_Down = ... # type: Qt.Key
        Key_PageUp = ... # type: Qt.Key
        Key_PageDown = ... # type: Qt.Key
        Key_Shift = ... # type: Qt.Key
        Key_Control = ... # type: Qt.Key
        Key_Meta = ... # type: Qt.Key
        Key_Alt = ... # type: Qt.Key
        Key_CapsLock = ... # type: Qt.Key
        Key_NumLock = ... # type: Qt.Key
        Key_ScrollLock = ... # type: Qt.Key
        Key_F1 = ... # type: Qt.Key
        Key_F2 = ... # type: Qt.Key
        Key_F3 = ... # type: Qt.Key
        Key_F4 = ... # type: Qt.Key
        Key_F5 = ... # type: Qt.Key
        Key_F6 = ... # type: Qt.Key
        Key_F7 = ... # type: Qt.Key
        Key_F8 = ... # type: Qt.Key
        Key_F9 = ... # type: Qt.Key
        Key_F10 = ... # type: Qt.Key
        Key_F11 = ... # type: Qt.Key
        Key_F12 = ... # type: Qt.Key
        Key_F13 = ... # type: Qt.Key
        Key_F14 = ... # type: Qt.Key
        Key_F15 = ... # type: Qt.Key
        Key_F16 = ... # type: Qt.Key
        Key_F17 = ... # type: Qt.Key
        Key_F18 = ... # type: Qt.Key
        Key_F19 = ... # type: Qt.Key
        Key_F20 = ... # type: Qt.Key
        Key_F21 = ... # type: Qt.Key
        Key_F22 = ... # type: Qt.Key
        Key_F23 = ... # type: Qt.Key
        Key_F24 = ... # type: Qt.Key
        Key_F25 = ... # type: Qt.Key
        Key_F26 = ... # type: Qt.Key
        Key_F27 = ... # type: Qt.Key
        Key_F28 = ... # type: Qt.Key
        Key_F29 = ... # type: Qt.Key
        Key_F30 = ... # type: Qt.Key
        Key_F31 = ... # type: Qt.Key
        Key_F32 = ... # type: Qt.Key
        Key_F33 = ... # type: Qt.Key
        Key_F34 = ... # type: Qt.Key
        Key_F35 = ... # type: Qt.Key
        Key_Super_L = ... # type: Qt.Key
        Key_Super_R = ... # type: Qt.Key
        Key_Menu = ... # type: Qt.Key
        Key_Hyper_L = ... # type: Qt.Key
        Key_Hyper_R = ... # type: Qt.Key
        Key_Help = ... # type: Qt.Key
        Key_Direction_L = ... # type: Qt.Key
        Key_Direction_R = ... # type: Qt.Key
        Key_Space = ... # type: Qt.Key
        Key_Any = ... # type: Qt.Key
        Key_Exclam = ... # type: Qt.Key
        Key_QuoteDbl = ... # type: Qt.Key
        Key_NumberSign = ... # type: Qt.Key
        Key_Dollar = ... # type: Qt.Key
        Key_Percent = ... # type: Qt.Key
        Key_Ampersand = ... # type: Qt.Key
        Key_Apostrophe = ... # type: Qt.Key
        Key_ParenLeft = ... # type: Qt.Key
        Key_ParenRight = ... # type: Qt.Key
        Key_Asterisk = ... # type: Qt.Key
        Key_Plus = ... # type: Qt.Key
        Key_Comma = ... # type: Qt.Key
        Key_Minus = ... # type: Qt.Key
        Key_Period = ... # type: Qt.Key
        Key_Slash = ... # type: Qt.Key
        Key_0 = ... # type: Qt.Key
        Key_1 = ... # type: Qt.Key
        Key_2 = ... # type: Qt.Key
        Key_3 = ... # type: Qt.Key
        Key_4 = ... # type: Qt.Key
        Key_5 = ... # type: Qt.Key
        Key_6 = ... # type: Qt.Key
        Key_7 = ... # type: Qt.Key
        Key_8 = ... # type: Qt.Key
        Key_9 = ... # type: Qt.Key
        Key_Colon = ... # type: Qt.Key
        Key_Semicolon = ... # type: Qt.Key
        Key_Less = ... # type: Qt.Key
        Key_Equal = ... # type: Qt.Key
        Key_Greater = ... # type: Qt.Key
        Key_Question = ... # type: Qt.Key
        Key_At = ... # type: Qt.Key
        Key_A = ... # type: Qt.Key
        Key_B = ... # type: Qt.Key
        Key_C = ... # type: Qt.Key
        Key_D = ... # type: Qt.Key
        Key_E = ... # type: Qt.Key
        Key_F = ... # type: Qt.Key
        Key_G = ... # type: Qt.Key
        Key_H = ... # type: Qt.Key
        Key_I = ... # type: Qt.Key
        Key_J = ... # type: Qt.Key
        Key_K = ... # type: Qt.Key
        Key_L = ... # type: Qt.Key
        Key_M = ... # type: Qt.Key
        Key_N = ... # type: Qt.Key
        Key_O = ... # type: Qt.Key
        Key_P = ... # type: Qt.Key
        Key_Q = ... # type: Qt.Key
        Key_R = ... # type: Qt.Key
        Key_S = ... # type: Qt.Key
        Key_T = ... # type: Qt.Key
        Key_U = ... # type: Qt.Key
        Key_V = ... # type: Qt.Key
        Key_W = ... # type: Qt.Key
        Key_X = ... # type: Qt.Key
        Key_Y = ... # type: Qt.Key
        Key_Z = ... # type: Qt.Key
        Key_BracketLeft = ... # type: Qt.Key
        Key_Backslash = ... # type: Qt.Key
        Key_BracketRight = ... # type: Qt.Key
        Key_AsciiCircum = ... # type: Qt.Key
        Key_Underscore = ... # type: Qt.Key
        Key_QuoteLeft = ... # type: Qt.Key
        Key_BraceLeft = ... # type: Qt.Key
        Key_Bar = ... # type: Qt.Key
        Key_BraceRight = ... # type: Qt.Key
        Key_AsciiTilde = ... # type: Qt.Key
        Key_nobreakspace = ... # type: Qt.Key
        Key_exclamdown = ... # type: Qt.Key
        Key_cent = ... # type: Qt.Key
        Key_sterling = ... # type: Qt.Key
        Key_currency = ... # type: Qt.Key
        Key_yen = ... # type: Qt.Key
        Key_brokenbar = ... # type: Qt.Key
        Key_section = ... # type: Qt.Key
        Key_diaeresis = ... # type: Qt.Key
        Key_copyright = ... # type: Qt.Key
        Key_ordfeminine = ... # type: Qt.Key
        Key_guillemotleft = ... # type: Qt.Key
        Key_notsign = ... # type: Qt.Key
        Key_hyphen = ... # type: Qt.Key
        Key_registered = ... # type: Qt.Key
        Key_macron = ... # type: Qt.Key
        Key_degree = ... # type: Qt.Key
        Key_plusminus = ... # type: Qt.Key
        Key_twosuperior = ... # type: Qt.Key
        Key_threesuperior = ... # type: Qt.Key
        Key_acute = ... # type: Qt.Key
        Key_mu = ... # type: Qt.Key
        Key_paragraph = ... # type: Qt.Key
        Key_periodcentered = ... # type: Qt.Key
        Key_cedilla = ... # type: Qt.Key
        Key_onesuperior = ... # type: Qt.Key
        Key_masculine = ... # type: Qt.Key
        Key_guillemotright = ... # type: Qt.Key
        Key_onequarter = ... # type: Qt.Key
        Key_onehalf = ... # type: Qt.Key
        Key_threequarters = ... # type: Qt.Key
        Key_questiondown = ... # type: Qt.Key
        Key_Agrave = ... # type: Qt.Key
        Key_Aacute = ... # type: Qt.Key
        Key_Acircumflex = ... # type: Qt.Key
        Key_Atilde = ... # type: Qt.Key
        Key_Adiaeresis = ... # type: Qt.Key
        Key_Aring = ... # type: Qt.Key
        Key_AE = ... # type: Qt.Key
        Key_Ccedilla = ... # type: Qt.Key
        Key_Egrave = ... # type: Qt.Key
        Key_Eacute = ... # type: Qt.Key
        Key_Ecircumflex = ... # type: Qt.Key
        Key_Ediaeresis = ... # type: Qt.Key
        Key_Igrave = ... # type: Qt.Key
        Key_Iacute = ... # type: Qt.Key
        Key_Icircumflex = ... # type: Qt.Key
        Key_Idiaeresis = ... # type: Qt.Key
        Key_ETH = ... # type: Qt.Key
        Key_Ntilde = ... # type: Qt.Key
        Key_Ograve = ... # type: Qt.Key
        Key_Oacute = ... # type: Qt.Key
        Key_Ocircumflex = ... # type: Qt.Key
        Key_Otilde = ... # type: Qt.Key
        Key_Odiaeresis = ... # type: Qt.Key
        Key_multiply = ... # type: Qt.Key
        Key_Ooblique = ... # type: Qt.Key
        Key_Ugrave = ... # type: Qt.Key
        Key_Uacute = ... # type: Qt.Key
        Key_Ucircumflex = ... # type: Qt.Key
        Key_Udiaeresis = ... # type: Qt.Key
        Key_Yacute = ... # type: Qt.Key
        Key_THORN = ... # type: Qt.Key
        Key_ssharp = ... # type: Qt.Key
        Key_division = ... # type: Qt.Key
        Key_ydiaeresis = ... # type: Qt.Key
        Key_AltGr = ... # type: Qt.Key
        Key_Multi_key = ... # type: Qt.Key
        Key_Codeinput = ... # type: Qt.Key
        Key_SingleCandidate = ... # type: Qt.Key
        Key_MultipleCandidate = ... # type: Qt.Key
        Key_PreviousCandidate = ... # type: Qt.Key
        Key_Mode_switch = ... # type: Qt.Key
        Key_Kanji = ... # type: Qt.Key
        Key_Muhenkan = ... # type: Qt.Key
        Key_Henkan = ... # type: Qt.Key
        Key_Romaji = ... # type: Qt.Key
        Key_Hiragana = ... # type: Qt.Key
        Key_Katakana = ... # type: Qt.Key
        Key_Hiragana_Katakana = ... # type: Qt.Key
        Key_Zenkaku = ... # type: Qt.Key
        Key_Hankaku = ... # type: Qt.Key
        Key_Zenkaku_Hankaku = ... # type: Qt.Key
        Key_Touroku = ... # type: Qt.Key
        Key_Massyo = ... # type: Qt.Key
        Key_Kana_Lock = ... # type: Qt.Key
        Key_Kana_Shift = ... # type: Qt.Key
        Key_Eisu_Shift = ... # type: Qt.Key
        Key_Eisu_toggle = ... # type: Qt.Key
        Key_Hangul = ... # type: Qt.Key
        Key_Hangul_Start = ... # type: Qt.Key
        Key_Hangul_End = ... # type: Qt.Key
        Key_Hangul_Hanja = ... # type: Qt.Key
        Key_Hangul_Jamo = ... # type: Qt.Key
        Key_Hangul_Romaja = ... # type: Qt.Key
        Key_Hangul_Jeonja = ... # type: Qt.Key
        Key_Hangul_Banja = ... # type: Qt.Key
        Key_Hangul_PreHanja = ... # type: Qt.Key
        Key_Hangul_PostHanja = ... # type: Qt.Key
        Key_Hangul_Special = ... # type: Qt.Key
        Key_Dead_Grave = ... # type: Qt.Key
        Key_Dead_Acute = ... # type: Qt.Key
        Key_Dead_Circumflex = ... # type: Qt.Key
        Key_Dead_Tilde = ... # type: Qt.Key
        Key_Dead_Macron = ... # type: Qt.Key
        Key_Dead_Breve = ... # type: Qt.Key
        Key_Dead_Abovedot = ... # type: Qt.Key
        Key_Dead_Diaeresis = ... # type: Qt.Key
        Key_Dead_Abovering = ... # type: Qt.Key
        Key_Dead_Doubleacute = ... # type: Qt.Key
        Key_Dead_Caron = ... # type: Qt.Key
        Key_Dead_Cedilla = ... # type: Qt.Key
        Key_Dead_Ogonek = ... # type: Qt.Key
        Key_Dead_Iota = ... # type: Qt.Key
        Key_Dead_Voiced_Sound = ... # type: Qt.Key
        Key_Dead_Semivoiced_Sound = ... # type: Qt.Key
        Key_Dead_Belowdot = ... # type: Qt.Key
        Key_Dead_Hook = ... # type: Qt.Key
        Key_Dead_Horn = ... # type: Qt.Key
        Key_Back = ... # type: Qt.Key
        Key_Forward = ... # type: Qt.Key
        Key_Stop = ... # type: Qt.Key
        Key_Refresh = ... # type: Qt.Key
        Key_VolumeDown = ... # type: Qt.Key
        Key_VolumeMute = ... # type: Qt.Key
        Key_VolumeUp = ... # type: Qt.Key
        Key_BassBoost = ... # type: Qt.Key
        Key_BassUp = ... # type: Qt.Key
        Key_BassDown = ... # type: Qt.Key
        Key_TrebleUp = ... # type: Qt.Key
        Key_TrebleDown = ... # type: Qt.Key
        Key_MediaPlay = ... # type: Qt.Key
        Key_MediaStop = ... # type: Qt.Key
        Key_MediaPrevious = ... # type: Qt.Key
        Key_MediaNext = ... # type: Qt.Key
        Key_MediaRecord = ... # type: Qt.Key
        Key_HomePage = ... # type: Qt.Key
        Key_Favorites = ... # type: Qt.Key
        Key_Search = ... # type: Qt.Key
        Key_Standby = ... # type: Qt.Key
        Key_OpenUrl = ... # type: Qt.Key
        Key_LaunchMail = ... # type: Qt.Key
        Key_LaunchMedia = ... # type: Qt.Key
        Key_Launch0 = ... # type: Qt.Key
        Key_Launch1 = ... # type: Qt.Key
        Key_Launch2 = ... # type: Qt.Key
        Key_Launch3 = ... # type: Qt.Key
        Key_Launch4 = ... # type: Qt.Key
        Key_Launch5 = ... # type: Qt.Key
        Key_Launch6 = ... # type: Qt.Key
        Key_Launch7 = ... # type: Qt.Key
        Key_Launch8 = ... # type: Qt.Key
        Key_Launch9 = ... # type: Qt.Key
        Key_LaunchA = ... # type: Qt.Key
        Key_LaunchB = ... # type: Qt.Key
        Key_LaunchC = ... # type: Qt.Key
        Key_LaunchD = ... # type: Qt.Key
        Key_LaunchE = ... # type: Qt.Key
        Key_LaunchF = ... # type: Qt.Key
        Key_MediaLast = ... # type: Qt.Key
        Key_Select = ... # type: Qt.Key
        Key_Yes = ... # type: Qt.Key
        Key_No = ... # type: Qt.Key
        Key_Context1 = ... # type: Qt.Key
        Key_Context2 = ... # type: Qt.Key
        Key_Context3 = ... # type: Qt.Key
        Key_Context4 = ... # type: Qt.Key
        Key_Call = ... # type: Qt.Key
        Key_Hangup = ... # type: Qt.Key
        Key_Flip = ... # type: Qt.Key
        Key_unknown = ... # type: Qt.Key
        Key_Execute = ... # type: Qt.Key
        Key_Printer = ... # type: Qt.Key
        Key_Play = ... # type: Qt.Key
        Key_Sleep = ... # type: Qt.Key
        Key_Zoom = ... # type: Qt.Key
        Key_Cancel = ... # type: Qt.Key
        Key_MonBrightnessUp = ... # type: Qt.Key
        Key_MonBrightnessDown = ... # type: Qt.Key
        Key_KeyboardLightOnOff = ... # type: Qt.Key
        Key_KeyboardBrightnessUp = ... # type: Qt.Key
        Key_KeyboardBrightnessDown = ... # type: Qt.Key
        Key_PowerOff = ... # type: Qt.Key
        Key_WakeUp = ... # type: Qt.Key
        Key_Eject = ... # type: Qt.Key
        Key_ScreenSaver = ... # type: Qt.Key
        Key_WWW = ... # type: Qt.Key
        Key_Memo = ... # type: Qt.Key
        Key_LightBulb = ... # type: Qt.Key
        Key_Shop = ... # type: Qt.Key
        Key_History = ... # type: Qt.Key
        Key_AddFavorite = ... # type: Qt.Key
        Key_HotLinks = ... # type: Qt.Key
        Key_BrightnessAdjust = ... # type: Qt.Key
        Key_Finance = ... # type: Qt.Key
        Key_Community = ... # type: Qt.Key
        Key_AudioRewind = ... # type: Qt.Key
        Key_BackForward = ... # type: Qt.Key
        Key_ApplicationLeft = ... # type: Qt.Key
        Key_ApplicationRight = ... # type: Qt.Key
        Key_Book = ... # type: Qt.Key
        Key_CD = ... # type: Qt.Key
        Key_Calculator = ... # type: Qt.Key
        Key_ToDoList = ... # type: Qt.Key
        Key_ClearGrab = ... # type: Qt.Key
        Key_Close = ... # type: Qt.Key
        Key_Copy = ... # type: Qt.Key
        Key_Cut = ... # type: Qt.Key
        Key_Display = ... # type: Qt.Key
        Key_DOS = ... # type: Qt.Key
        Key_Documents = ... # type: Qt.Key
        Key_Excel = ... # type: Qt.Key
        Key_Explorer = ... # type: Qt.Key
        Key_Game = ... # type: Qt.Key
        Key_Go = ... # type: Qt.Key
        Key_iTouch = ... # type: Qt.Key
        Key_LogOff = ... # type: Qt.Key
        Key_Market = ... # type: Qt.Key
        Key_Meeting = ... # type: Qt.Key
        Key_MenuKB = ... # type: Qt.Key
        Key_MenuPB = ... # type: Qt.Key
        Key_MySites = ... # type: Qt.Key
        Key_News = ... # type: Qt.Key
        Key_OfficeHome = ... # type: Qt.Key
        Key_Option = ... # type: Qt.Key
        Key_Paste = ... # type: Qt.Key
        Key_Phone = ... # type: Qt.Key
        Key_Calendar = ... # type: Qt.Key
        Key_Reply = ... # type: Qt.Key
        Key_Reload = ... # type: Qt.Key
        Key_RotateWindows = ... # type: Qt.Key
        Key_RotationPB = ... # type: Qt.Key
        Key_RotationKB = ... # type: Qt.Key
        Key_Save = ... # type: Qt.Key
        Key_Send = ... # type: Qt.Key
        Key_Spell = ... # type: Qt.Key
        Key_SplitScreen = ... # type: Qt.Key
        Key_Support = ... # type: Qt.Key
        Key_TaskPane = ... # type: Qt.Key
        Key_Terminal = ... # type: Qt.Key
        Key_Tools = ... # type: Qt.Key
        Key_Travel = ... # type: Qt.Key
        Key_Video = ... # type: Qt.Key
        Key_Word = ... # type: Qt.Key
        Key_Xfer = ... # type: Qt.Key
        Key_ZoomIn = ... # type: Qt.Key
        Key_ZoomOut = ... # type: Qt.Key
        Key_Away = ... # type: Qt.Key
        Key_Messenger = ... # type: Qt.Key
        Key_WebCam = ... # type: Qt.Key
        Key_MailForward = ... # type: Qt.Key
        Key_Pictures = ... # type: Qt.Key
        Key_Music = ... # type: Qt.Key
        Key_Battery = ... # type: Qt.Key
        Key_Bluetooth = ... # type: Qt.Key
        Key_WLAN = ... # type: Qt.Key
        Key_UWB = ... # type: Qt.Key
        Key_AudioForward = ... # type: Qt.Key
        Key_AudioRepeat = ... # type: Qt.Key
        Key_AudioRandomPlay = ... # type: Qt.Key
        Key_Subtitle = ... # type: Qt.Key
        Key_AudioCycleTrack = ... # type: Qt.Key
        Key_Time = ... # type: Qt.Key
        Key_Hibernate = ... # type: Qt.Key
        Key_View = ... # type: Qt.Key
        Key_TopMenu = ... # type: Qt.Key
        Key_PowerDown = ... # type: Qt.Key
        Key_Suspend = ... # type: Qt.Key
        Key_ContrastAdjust = ... # type: Qt.Key
        Key_MediaPause = ... # type: Qt.Key
        Key_MediaTogglePlayPause = ... # type: Qt.Key
        Key_LaunchG = ... # type: Qt.Key
        Key_LaunchH = ... # type: Qt.Key
        Key_ToggleCallHangup = ... # type: Qt.Key
        Key_VoiceDial = ... # type: Qt.Key
        Key_LastNumberRedial = ... # type: Qt.Key
        Key_Camera = ... # type: Qt.Key
        Key_CameraFocus = ... # type: Qt.Key
        Key_TouchpadToggle = ... # type: Qt.Key
        Key_TouchpadOn = ... # type: Qt.Key
        Key_TouchpadOff = ... # type: Qt.Key
        Key_MicMute = ... # type: Qt.Key
        Key_Red = ... # type: Qt.Key
        Key_Green = ... # type: Qt.Key
        Key_Yellow = ... # type: Qt.Key
        Key_Blue = ... # type: Qt.Key
        Key_ChannelUp = ... # type: Qt.Key
        Key_ChannelDown = ... # type: Qt.Key
        Key_Guide = ... # type: Qt.Key
        Key_Info = ... # type: Qt.Key
        Key_Settings = ... # type: Qt.Key
        Key_Exit = ... # type: Qt.Key
        Key_MicVolumeUp = ... # type: Qt.Key
        Key_MicVolumeDown = ... # type: Qt.Key
        Key_New = ... # type: Qt.Key
        Key_Open = ... # type: Qt.Key
        Key_Find = ... # type: Qt.Key
        Key_Undo = ... # type: Qt.Key
        Key_Redo = ... # type: Qt.Key
        Key_Dead_Stroke = ... # type: Qt.Key
        Key_Dead_Abovecomma = ... # type: Qt.Key
        Key_Dead_Abovereversedcomma = ... # type: Qt.Key
        Key_Dead_Doublegrave = ... # type: Qt.Key
        Key_Dead_Belowring = ... # type: Qt.Key
        Key_Dead_Belowmacron = ... # type: Qt.Key
        Key_Dead_Belowcircumflex = ... # type: Qt.Key
        Key_Dead_Belowtilde = ... # type: Qt.Key
        Key_Dead_Belowbreve = ... # type: Qt.Key
        Key_Dead_Belowdiaeresis = ... # type: Qt.Key
        Key_Dead_Invertedbreve = ... # type: Qt.Key
        Key_Dead_Belowcomma = ... # type: Qt.Key
        Key_Dead_Currency = ... # type: Qt.Key
        Key_Dead_a = ... # type: Qt.Key
        Key_Dead_A = ... # type: Qt.Key
        Key_Dead_e = ... # type: Qt.Key
        Key_Dead_E = ... # type: Qt.Key
        Key_Dead_i = ... # type: Qt.Key
        Key_Dead_I = ... # type: Qt.Key
        Key_Dead_o = ... # type: Qt.Key
        Key_Dead_O = ... # type: Qt.Key
        Key_Dead_u = ... # type: Qt.Key
        Key_Dead_U = ... # type: Qt.Key
        Key_Dead_Small_Schwa = ... # type: Qt.Key
        Key_Dead_Capital_Schwa = ... # type: Qt.Key
        Key_Dead_Greek = ... # type: Qt.Key
        Key_Dead_Lowline = ... # type: Qt.Key
        Key_Dead_Aboveverticalline = ... # type: Qt.Key
        Key_Dead_Belowverticalline = ... # type: Qt.Key
        Key_Dead_Longsolidusoverlay = ... # type: Qt.Key
        Key_micro = ... # type: Qt.Key

    class BGMode(enum.Enum):
        TransparentMode = ... # type: Qt.BGMode
        OpaqueMode = ... # type: Qt.BGMode

    class ImageConversionFlag(enum.Flag):
        AutoColor = ... # type: Qt.ImageConversionFlag
        ColorOnly = ... # type: Qt.ImageConversionFlag
        MonoOnly = ... # type: Qt.ImageConversionFlag
        ThresholdAlphaDither = ... # type: Qt.ImageConversionFlag
        OrderedAlphaDither = ... # type: Qt.ImageConversionFlag
        DiffuseAlphaDither = ... # type: Qt.ImageConversionFlag
        DiffuseDither = ... # type: Qt.ImageConversionFlag
        OrderedDither = ... # type: Qt.ImageConversionFlag
        ThresholdDither = ... # type: Qt.ImageConversionFlag
        AutoDither = ... # type: Qt.ImageConversionFlag
        PreferDither = ... # type: Qt.ImageConversionFlag
        AvoidDither = ... # type: Qt.ImageConversionFlag
        NoOpaqueDetection = ... # type: Qt.ImageConversionFlag
        NoFormatConversion = ... # type: Qt.ImageConversionFlag

    class WidgetAttribute(enum.Enum):
        WA_Disabled = ... # type: Qt.WidgetAttribute
        WA_UnderMouse = ... # type: Qt.WidgetAttribute
        WA_MouseTracking = ... # type: Qt.WidgetAttribute
        WA_OpaquePaintEvent = ... # type: Qt.WidgetAttribute
        WA_StaticContents = ... # type: Qt.WidgetAttribute
        WA_LaidOut = ... # type: Qt.WidgetAttribute
        WA_PaintOnScreen = ... # type: Qt.WidgetAttribute
        WA_NoSystemBackground = ... # type: Qt.WidgetAttribute
        WA_UpdatesDisabled = ... # type: Qt.WidgetAttribute
        WA_Mapped = ... # type: Qt.WidgetAttribute
        WA_InputMethodEnabled = ... # type: Qt.WidgetAttribute
        WA_WState_Visible = ... # type: Qt.WidgetAttribute
        WA_WState_Hidden = ... # type: Qt.WidgetAttribute
        WA_ForceDisabled = ... # type: Qt.WidgetAttribute
        WA_KeyCompression = ... # type: Qt.WidgetAttribute
        WA_PendingMoveEvent = ... # type: Qt.WidgetAttribute
        WA_PendingResizeEvent = ... # type: Qt.WidgetAttribute
        WA_SetPalette = ... # type: Qt.WidgetAttribute
        WA_SetFont = ... # type: Qt.WidgetAttribute
        WA_SetCursor = ... # type: Qt.WidgetAttribute
        WA_NoChildEventsFromChildren = ... # type: Qt.WidgetAttribute
        WA_WindowModified = ... # type: Qt.WidgetAttribute
        WA_Resized = ... # type: Qt.WidgetAttribute
        WA_Moved = ... # type: Qt.WidgetAttribute
        WA_PendingUpdate = ... # type: Qt.WidgetAttribute
        WA_InvalidSize = ... # type: Qt.WidgetAttribute
        WA_CustomWhatsThis = ... # type: Qt.WidgetAttribute
        WA_LayoutOnEntireRect = ... # type: Qt.WidgetAttribute
        WA_OutsideWSRange = ... # type: Qt.WidgetAttribute
        WA_GrabbedShortcut = ... # type: Qt.WidgetAttribute
        WA_TransparentForMouseEvents = ... # type: Qt.WidgetAttribute
        WA_PaintUnclipped = ... # type: Qt.WidgetAttribute
        WA_SetWindowIcon = ... # type: Qt.WidgetAttribute
        WA_NoMouseReplay = ... # type: Qt.WidgetAttribute
        WA_DeleteOnClose = ... # type: Qt.WidgetAttribute
        WA_RightToLeft = ... # type: Qt.WidgetAttribute
        WA_SetLayoutDirection = ... # type: Qt.WidgetAttribute
        WA_NoChildEventsForParent = ... # type: Qt.WidgetAttribute
        WA_ForceUpdatesDisabled = ... # type: Qt.WidgetAttribute
        WA_WState_Created = ... # type: Qt.WidgetAttribute
        WA_WState_CompressKeys = ... # type: Qt.WidgetAttribute
        WA_WState_InPaintEvent = ... # type: Qt.WidgetAttribute
        WA_WState_Reparented = ... # type: Qt.WidgetAttribute
        WA_WState_ConfigPending = ... # type: Qt.WidgetAttribute
        WA_WState_Polished = ... # type: Qt.WidgetAttribute
        WA_WState_OwnSizePolicy = ... # type: Qt.WidgetAttribute
        WA_WState_ExplicitShowHide = ... # type: Qt.WidgetAttribute
        WA_MouseNoMask = ... # type: Qt.WidgetAttribute
        WA_NoMousePropagation = ... # type: Qt.WidgetAttribute
        WA_Hover = ... # type: Qt.WidgetAttribute
        WA_InputMethodTransparent = ... # type: Qt.WidgetAttribute
        WA_QuitOnClose = ... # type: Qt.WidgetAttribute
        WA_KeyboardFocusChange = ... # type: Qt.WidgetAttribute
        WA_AcceptDrops = ... # type: Qt.WidgetAttribute
        WA_WindowPropagation = ... # type: Qt.WidgetAttribute
        WA_NoX11EventCompression = ... # type: Qt.WidgetAttribute
        WA_TintedBackground = ... # type: Qt.WidgetAttribute
        WA_X11OpenGLOverlay = ... # type: Qt.WidgetAttribute
        WA_AttributeCount = ... # type: Qt.WidgetAttribute
        WA_AlwaysShowToolTips = ... # type: Qt.WidgetAttribute
        WA_MacOpaqueSizeGrip = ... # type: Qt.WidgetAttribute
        WA_SetStyle = ... # type: Qt.WidgetAttribute
        WA_SetLocale = ... # type: Qt.WidgetAttribute
        WA_MacShowFocusRect = ... # type: Qt.WidgetAttribute
        WA_MacNormalSize = ... # type: Qt.WidgetAttribute
        WA_MacSmallSize = ... # type: Qt.WidgetAttribute
        WA_MacMiniSize = ... # type: Qt.WidgetAttribute
        WA_LayoutUsesWidgetRect = ... # type: Qt.WidgetAttribute
        WA_StyledBackground = ... # type: Qt.WidgetAttribute
        WA_MacAlwaysShowToolWindow = ... # type: Qt.WidgetAttribute
        WA_StyleSheet = ... # type: Qt.WidgetAttribute
        WA_ShowWithoutActivating = ... # type: Qt.WidgetAttribute
        WA_NativeWindow = ... # type: Qt.WidgetAttribute
        WA_DontCreateNativeAncestors = ... # type: Qt.WidgetAttribute
        WA_DontShowOnScreen = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeDesktop = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeDock = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeToolBar = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeMenu = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeUtility = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeSplash = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeDialog = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeDropDownMenu = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypePopupMenu = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeToolTip = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeNotification = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeCombo = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeDND = ... # type: Qt.WidgetAttribute
        WA_TranslucentBackground = ... # type: Qt.WidgetAttribute
        WA_AcceptTouchEvents = ... # type: Qt.WidgetAttribute
        WA_TouchPadAcceptSingleTouchEvents = ... # type: Qt.WidgetAttribute
        WA_X11DoNotAcceptFocus = ... # type: Qt.WidgetAttribute
        WA_AlwaysStackOnTop = ... # type: Qt.WidgetAttribute
        WA_TabletTracking = ... # type: Qt.WidgetAttribute
        WA_ContentsMarginsRespectsSafeArea = ... # type: Qt.WidgetAttribute
        WA_StyleSheetTarget = ... # type: Qt.WidgetAttribute

    class WindowState(enum.Flag):
        WindowNoState = ... # type: Qt.WindowState
        WindowMinimized = ... # type: Qt.WindowState
        WindowMaximized = ... # type: Qt.WindowState
        WindowFullScreen = ... # type: Qt.WindowState
        WindowActive = ... # type: Qt.WindowState

    class WindowType(enum.IntFlag):
        Widget = ... # type: Qt.WindowType
        Window = ... # type: Qt.WindowType
        Dialog = ... # type: Qt.WindowType
        Sheet = ... # type: Qt.WindowType
        Drawer = ... # type: Qt.WindowType
        Popup = ... # type: Qt.WindowType
        Tool = ... # type: Qt.WindowType
        ToolTip = ... # type: Qt.WindowType
        SplashScreen = ... # type: Qt.WindowType
        Desktop = ... # type: Qt.WindowType
        SubWindow = ... # type: Qt.WindowType
        WindowType_Mask = ... # type: Qt.WindowType
        MSWindowsFixedSizeDialogHint = ... # type: Qt.WindowType
        MSWindowsOwnDC = ... # type: Qt.WindowType
        X11BypassWindowManagerHint = ... # type: Qt.WindowType
        FramelessWindowHint = ... # type: Qt.WindowType
        CustomizeWindowHint = ... # type: Qt.WindowType
        WindowTitleHint = ... # type: Qt.WindowType
        WindowSystemMenuHint = ... # type: Qt.WindowType
        WindowMinimizeButtonHint = ... # type: Qt.WindowType
        WindowMaximizeButtonHint = ... # type: Qt.WindowType
        WindowMinMaxButtonsHint = ... # type: Qt.WindowType
        WindowContextHelpButtonHint = ... # type: Qt.WindowType
        WindowShadeButtonHint = ... # type: Qt.WindowType
        WindowStaysOnTopHint = ... # type: Qt.WindowType
        WindowStaysOnBottomHint = ... # type: Qt.WindowType
        WindowCloseButtonHint = ... # type: Qt.WindowType
        MacWindowToolBarButtonHint = ... # type: Qt.WindowType
        BypassGraphicsProxyWidget = ... # type: Qt.WindowType
        WindowTransparentForInput = ... # type: Qt.WindowType
        WindowOverridesSystemGestures = ... # type: Qt.WindowType
        WindowDoesNotAcceptFocus = ... # type: Qt.WindowType
        NoDropShadowWindowHint = ... # type: Qt.WindowType
        WindowFullscreenButtonHint = ... # type: Qt.WindowType
        ForeignWindow = ... # type: Qt.WindowType
        BypassWindowManagerHint = ... # type: Qt.WindowType
        CoverWindow = ... # type: Qt.WindowType
        MaximizeUsingFullscreenGeometryHint = ... # type: Qt.WindowType
        ExpandedClientAreaHint = ... # type: Qt.WindowType
        NoTitleBarBackgroundHint = ... # type: Qt.WindowType

    class TextElideMode(enum.Enum):
        ElideLeft = ... # type: Qt.TextElideMode
        ElideRight = ... # type: Qt.TextElideMode
        ElideMiddle = ... # type: Qt.TextElideMode
        ElideNone = ... # type: Qt.TextElideMode

    class TextFlag(enum.IntFlag):
        TextSingleLine = ... # type: Qt.TextFlag
        TextDontClip = ... # type: Qt.TextFlag
        TextExpandTabs = ... # type: Qt.TextFlag
        TextShowMnemonic = ... # type: Qt.TextFlag
        TextWordWrap = ... # type: Qt.TextFlag
        TextWrapAnywhere = ... # type: Qt.TextFlag
        TextDontPrint = ... # type: Qt.TextFlag
        TextIncludeTrailingSpaces = ... # type: Qt.TextFlag
        TextHideMnemonic = ... # type: Qt.TextFlag
        TextJustificationForced = ... # type: Qt.TextFlag

    class AlignmentFlag(enum.IntFlag):
        AlignLeft = ... # type: Qt.AlignmentFlag
        AlignLeading = ... # type: Qt.AlignmentFlag
        AlignRight = ... # type: Qt.AlignmentFlag
        AlignTrailing = ... # type: Qt.AlignmentFlag
        AlignHCenter = ... # type: Qt.AlignmentFlag
        AlignJustify = ... # type: Qt.AlignmentFlag
        AlignAbsolute = ... # type: Qt.AlignmentFlag
        AlignHorizontal_Mask = ... # type: Qt.AlignmentFlag
        AlignTop = ... # type: Qt.AlignmentFlag
        AlignBottom = ... # type: Qt.AlignmentFlag
        AlignVCenter = ... # type: Qt.AlignmentFlag
        AlignVertical_Mask = ... # type: Qt.AlignmentFlag
        AlignCenter = ... # type: Qt.AlignmentFlag
        AlignBaseline = ... # type: Qt.AlignmentFlag

    class SortOrder(enum.Enum):
        AscendingOrder = ... # type: Qt.SortOrder
        DescendingOrder = ... # type: Qt.SortOrder

    class FocusPolicy(enum.IntFlag):
        NoFocus = ... # type: Qt.FocusPolicy
        TabFocus = ... # type: Qt.FocusPolicy
        ClickFocus = ... # type: Qt.FocusPolicy
        StrongFocus = ... # type: Qt.FocusPolicy
        WheelFocus = ... # type: Qt.FocusPolicy

    class Orientation(enum.Flag):
        Horizontal = ... # type: Qt.Orientation
        Vertical = ... # type: Qt.Orientation

    class MouseButton(enum.Flag):
        NoButton = ... # type: Qt.MouseButton
        AllButtons = ... # type: Qt.MouseButton
        LeftButton = ... # type: Qt.MouseButton
        RightButton = ... # type: Qt.MouseButton
        MiddleButton = ... # type: Qt.MouseButton
        XButton1 = ... # type: Qt.MouseButton
        XButton2 = ... # type: Qt.MouseButton
        BackButton = ... # type: Qt.MouseButton
        ExtraButton1 = ... # type: Qt.MouseButton
        ForwardButton = ... # type: Qt.MouseButton
        ExtraButton2 = ... # type: Qt.MouseButton
        TaskButton = ... # type: Qt.MouseButton
        ExtraButton3 = ... # type: Qt.MouseButton
        ExtraButton4 = ... # type: Qt.MouseButton
        ExtraButton5 = ... # type: Qt.MouseButton
        ExtraButton6 = ... # type: Qt.MouseButton
        ExtraButton7 = ... # type: Qt.MouseButton
        ExtraButton8 = ... # type: Qt.MouseButton
        ExtraButton9 = ... # type: Qt.MouseButton
        ExtraButton10 = ... # type: Qt.MouseButton
        ExtraButton11 = ... # type: Qt.MouseButton
        ExtraButton12 = ... # type: Qt.MouseButton
        ExtraButton13 = ... # type: Qt.MouseButton
        ExtraButton14 = ... # type: Qt.MouseButton
        ExtraButton15 = ... # type: Qt.MouseButton
        ExtraButton16 = ... # type: Qt.MouseButton
        ExtraButton17 = ... # type: Qt.MouseButton
        ExtraButton18 = ... # type: Qt.MouseButton
        ExtraButton19 = ... # type: Qt.MouseButton
        ExtraButton20 = ... # type: Qt.MouseButton
        ExtraButton21 = ... # type: Qt.MouseButton
        ExtraButton22 = ... # type: Qt.MouseButton
        ExtraButton23 = ... # type: Qt.MouseButton
        ExtraButton24 = ... # type: Qt.MouseButton

    class Modifier(enum.Flag):
        META = ... # type: Qt.Modifier
        SHIFT = ... # type: Qt.Modifier
        CTRL = ... # type: Qt.Modifier
        ALT = ... # type: Qt.Modifier
        MODIFIER_MASK = ... # type: Qt.Modifier

    class KeyboardModifier(enum.Flag):
        NoModifier = ... # type: Qt.KeyboardModifier
        ShiftModifier = ... # type: Qt.KeyboardModifier
        ControlModifier = ... # type: Qt.KeyboardModifier
        AltModifier = ... # type: Qt.KeyboardModifier
        MetaModifier = ... # type: Qt.KeyboardModifier
        KeypadModifier = ... # type: Qt.KeyboardModifier
        GroupSwitchModifier = ... # type: Qt.KeyboardModifier
        KeyboardModifierMask = ... # type: Qt.KeyboardModifier

    class GlobalColor(enum.Enum):
        color0 = ... # type: Qt.GlobalColor
        color1 = ... # type: Qt.GlobalColor
        black = ... # type: Qt.GlobalColor
        white = ... # type: Qt.GlobalColor
        darkGray = ... # type: Qt.GlobalColor
        gray = ... # type: Qt.GlobalColor
        lightGray = ... # type: Qt.GlobalColor
        red = ... # type: Qt.GlobalColor
        green = ... # type: Qt.GlobalColor
        blue = ... # type: Qt.GlobalColor
        cyan = ... # type: Qt.GlobalColor
        magenta = ... # type: Qt.GlobalColor
        yellow = ... # type: Qt.GlobalColor
        darkRed = ... # type: Qt.GlobalColor
        darkGreen = ... # type: Qt.GlobalColor
        darkBlue = ... # type: Qt.GlobalColor
        darkCyan = ... # type: Qt.GlobalColor
        darkMagenta = ... # type: Qt.GlobalColor
        darkYellow = ... # type: Qt.GlobalColor
        transparent = ... # type: Qt.GlobalColor

    def ws(self, s: 'QTextStream') -> 'QTextStream': ...
    def bom(self, s: 'QTextStream') -> 'QTextStream': ...
    def reset(self, s: 'QTextStream') -> 'QTextStream': ...
    def flush(self, s: 'QTextStream') -> 'QTextStream': ...
    def endl(self, s: 'QTextStream') -> 'QTextStream': ...
    def center(self, s: 'QTextStream') -> 'QTextStream': ...
    def right(self, s: 'QTextStream') -> 'QTextStream': ...
    def left(self, s: 'QTextStream') -> 'QTextStream': ...
    def scientific(self, s: 'QTextStream') -> 'QTextStream': ...
    def fixed(self, s: 'QTextStream') -> 'QTextStream': ...
    def lowercasedigits(self, s: 'QTextStream') -> 'QTextStream': ...
    def lowercasebase(self, s: 'QTextStream') -> 'QTextStream': ...
    def uppercasedigits(self, s: 'QTextStream') -> 'QTextStream': ...
    def uppercasebase(self, s: 'QTextStream') -> 'QTextStream': ...
    def noforcepoint(self, s: 'QTextStream') -> 'QTextStream': ...
    def noforcesign(self, s: 'QTextStream') -> 'QTextStream': ...
    def noshowbase(self, s: 'QTextStream') -> 'QTextStream': ...
    def forcepoint(self, s: 'QTextStream') -> 'QTextStream': ...
    def forcesign(self, s: 'QTextStream') -> 'QTextStream': ...
    def showbase(self, s: 'QTextStream') -> 'QTextStream': ...
    def hex(self, s: 'QTextStream') -> 'QTextStream': ...
    def dec(self, s: 'QTextStream') -> 'QTextStream': ...
    def oct(self, s: 'QTextStream') -> 'QTextStream': ...
    def bin(self, s: 'QTextStream') -> 'QTextStream': ...


class QKeyCombination(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self, key: Qt.Key = ...) -> None: ...
    @typing.overload
    def __init__(self, modifiers: Qt.Modifier, key: Qt.Key = ...) -> None: ...
    @typing.overload
    def __init__(self, modifiers: Qt.KeyboardModifier, key: Qt.Key = ...) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QKeyCombination') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __hash__(self) -> int: ...
    def toCombined(self) -> int: ...
    @staticmethod
    def fromCombined(combined: int) -> 'QKeyCombination': ...
    def key(self) -> Qt.Key: ...
    def keyboardModifiers(self) -> Qt.KeyboardModifier: ...


class QObject(PyQt6.sip.wrapper):

    staticMetaObject = ... # type: 'QMetaObject'

    def __init__(self, parent: typing.Optional['QObject'] = ...) -> None: ...

    def isQuickItemType(self) -> bool: ...
    @typing.overload
    @staticmethod
    def disconnect(a0: 'QMetaObject.Connection') -> bool: ...
    @typing.overload
    def disconnect(self) -> None: ...
    def isSignalConnected(self, signal: 'QMetaMethod') -> bool: ...
    def senderSignalIndex(self) -> int: ...
    def disconnectNotify(self, signal: 'QMetaMethod') -> None: ...
    def connectNotify(self, signal: 'QMetaMethod') -> None: ...
    def customEvent(self, a0: typing.Optional['QEvent']) -> None: ...
    def childEvent(self, a0: typing.Optional['QChildEvent']) -> None: ...
    def timerEvent(self, a0: typing.Optional['QTimerEvent']) -> None: ...
    def receivers(self, signal: PYQT_SIGNAL) -> int: ...
    def sender(self) -> typing.Optional['QObject']: ...
    def deleteLater(self) -> None: ...
    def inherits(self, classname: typing.Optional[str]) -> bool: ...
    def parent(self) -> typing.Optional['QObject']: ...
    objectNameChanged: typing.ClassVar[pyqtSignal]
    destroyed: typing.ClassVar[pyqtSignal]
    def property(self, name: typing.Optional[str]) -> typing.Any: ...
    def setProperty(self, name: typing.Optional[str], value: typing.Any) -> bool: ...
    def dynamicPropertyNames(self) -> list['QByteArray']: ...
    def dumpObjectTree(self) -> None: ...
    def dumpObjectInfo(self) -> None: ...
    def removeEventFilter(self, a0: typing.Optional['QObject']) -> None: ...
    def installEventFilter(self, a0: typing.Optional['QObject']) -> None: ...
    def setParent(self, a0: typing.Optional['QObject']) -> None: ...
    def children(self) -> list['QObject']: ...
    def killTimer(self, id: int) -> None: ...
    def startTimer(self, interval: int, timerType: Qt.TimerType = ...) -> int: ...
    def moveToThread(self, thread: typing.Optional['QThread']) -> None: ...
    def thread(self) -> typing.Optional['QThread']: ...
    def blockSignals(self, b: bool) -> bool: ...
    def signalsBlocked(self) -> bool: ...
    def isWindowType(self) -> bool: ...
    def isWidgetType(self) -> bool: ...
    def setObjectName(self, name: typing.Union[typing.Union['QByteArray', bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    def objectName(self) -> str: ...
    @typing.overload
    def findChildren(self, type: type[QObjectT], name: typing.Optional[str] = ..., options: Qt.FindChildOption = ...) -> list[QObjectT]: ...
    @typing.overload
    def findChildren(self, types: tuple[type[QObjectT], ...], name: typing.Optional[str] = ..., options: Qt.FindChildOption = ...) -> list[QObjectT]: ...
    @typing.overload
    def findChildren(self, type: type[QObjectT], re: 'QRegularExpression', options: Qt.FindChildOption = ...) -> list[QObjectT]: ...
    @typing.overload
    def findChildren(self, types: tuple[type[QObjectT], ...], re: 'QRegularExpression', options: Qt.FindChildOption = ...) -> list[QObjectT]: ...
    @typing.overload
    def findChild(self, type: type[QObjectT], name: typing.Optional[str] = ..., options: Qt.FindChildOption = ...) -> QObjectT: ...
    @typing.overload
    def findChild(self, types: tuple[type[QObjectT], ...], name: typing.Optional[str] = ..., options: Qt.FindChildOption = ...) -> QObjectT: ...
    @staticmethod
    def tr(sourceText: typing.Optional[str], disambiguation: typing.Optional[str] = ..., n: int = ...) -> str: ...
    def eventFilter(self, a0: typing.Optional['QObject'], a1: typing.Optional['QEvent']) -> bool: ...
    def event(self, a0: typing.Optional['QEvent']) -> bool: ...
    def pyqtConfigure(self, a0: typing.Any) -> None: ...
    def metaObject(self) -> typing.Optional['QMetaObject']: ...


class QAbstractAnimation(QObject):

    class DeletionPolicy(enum.Enum):
        KeepWhenStopped = ... # type: QAbstractAnimation.DeletionPolicy
        DeleteWhenStopped = ... # type: QAbstractAnimation.DeletionPolicy

    class State(enum.Enum):
        Stopped = ... # type: QAbstractAnimation.State
        Paused = ... # type: QAbstractAnimation.State
        Running = ... # type: QAbstractAnimation.State

    class Direction(enum.Enum):
        Forward = ... # type: QAbstractAnimation.Direction
        Backward = ... # type: QAbstractAnimation.Direction

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def updateDirection(self, direction: 'QAbstractAnimation.Direction') -> None: ...
    def updateState(self, newState: 'QAbstractAnimation.State', oldState: 'QAbstractAnimation.State') -> None: ...
    def updateCurrentTime(self, currentTime: int) -> None: ...
    def event(self, event: typing.Optional['QEvent']) -> bool: ...
    def setCurrentTime(self, msecs: int) -> None: ...
    def stop(self) -> None: ...
    def setPaused(self, a0: bool) -> None: ...
    def resume(self) -> None: ...
    def pause(self) -> None: ...
    def start(self, policy: 'QAbstractAnimation.DeletionPolicy' = ...) -> None: ...
    directionChanged: typing.ClassVar[pyqtSignal]
    currentLoopChanged: typing.ClassVar[pyqtSignal]
    stateChanged: typing.ClassVar[pyqtSignal]
    finished: typing.ClassVar[pyqtSignal]
    def totalDuration(self) -> int: ...
    def duration(self) -> int: ...
    def currentLoop(self) -> int: ...
    def setLoopCount(self, loopCount: int) -> None: ...
    def loopCount(self) -> int: ...
    def currentLoopTime(self) -> int: ...
    def currentTime(self) -> int: ...
    def setDirection(self, direction: 'QAbstractAnimation.Direction') -> None: ...
    def direction(self) -> 'QAbstractAnimation.Direction': ...
    def group(self) -> typing.Optional['QAnimationGroup']: ...
    def state(self) -> 'QAbstractAnimation.State': ...


class QAbstractEventDispatcher(QObject):

    class TimerInfo(PyQt6.sip.simplewrapper):

        interval = ... # type: int
        timerId = ... # type: int
        timerType = ... # type: Qt.TimerType

        @typing.overload
        def __init__(self, id: int, i: int, t: Qt.TimerType) -> None: ...
        @typing.overload
        def __init__(self, a0: 'QAbstractEventDispatcher.TimerInfo') -> None: ...

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    awake: typing.ClassVar[pyqtSignal]
    aboutToBlock: typing.ClassVar[pyqtSignal]
    def filterNativeEvent(self, eventType: typing.Union['QByteArray', bytes, bytearray, memoryview], message: typing.Optional[PyQt6.sip.voidptr]) -> typing.Tuple[bool, typing.Optional[PyQt6.sip.voidptr]]: ...
    def removeNativeEventFilter(self, filterObj: typing.Optional['QAbstractNativeEventFilter']) -> None: ...
    def installNativeEventFilter(self, filterObj: typing.Optional['QAbstractNativeEventFilter']) -> None: ...
    def remainingTime(self, timerId: int) -> int: ...
    def closingDown(self) -> None: ...
    def startingUp(self) -> None: ...
    def interrupt(self) -> None: ...
    def wakeUp(self) -> None: ...
    def registeredTimers(self, object: typing.Optional[QObject]) -> list['QAbstractEventDispatcher.TimerInfo']: ...
    def unregisterTimers(self, object: typing.Optional[QObject]) -> bool: ...
    def unregisterTimer(self, timerId: int) -> bool: ...
    @typing.overload
    def registerTimer(self, interval: int, timerType: Qt.TimerType, object: typing.Optional[QObject]) -> int: ...
    @typing.overload
    def registerTimer(self, timerId: int, interval: int, timerType: Qt.TimerType, object: typing.Optional[QObject]) -> None: ...
    def processEvents(self, flags: 'QEventLoop.ProcessEventsFlag') -> bool: ...
    @staticmethod
    def instance(thread: typing.Optional['QThread'] = ...) -> typing.Optional['QAbstractEventDispatcher']: ...


class QModelIndex(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QModelIndex') -> None: ...
    @typing.overload
    def __init__(self, a0: 'QPersistentModelIndex') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    @typing.overload
    def __ge__(self, rhs: 'QPersistentModelIndex') -> bool: ...
    @typing.overload
    def __ge__(self, rhs: 'QModelIndex') -> bool: ...
    @typing.overload
    def __le__(self, rhs: 'QPersistentModelIndex') -> bool: ...
    @typing.overload
    def __le__(self, rhs: 'QModelIndex') -> bool: ...
    @typing.overload
    def __gt__(self, rhs: 'QPersistentModelIndex') -> bool: ...
    @typing.overload
    def __gt__(self, rhs: 'QModelIndex') -> bool: ...
    @typing.overload
    def __lt__(self, rhs: 'QPersistentModelIndex') -> bool: ...
    @typing.overload
    def __lt__(self, rhs: 'QModelIndex') -> bool: ...
    def __hash__(self) -> int: ...
    def siblingAtRow(self, row: int) -> 'QModelIndex': ...
    def siblingAtColumn(self, column: int) -> 'QModelIndex': ...
    def sibling(self, arow: int, acolumn: int) -> 'QModelIndex': ...
    def parent(self) -> 'QModelIndex': ...
    def isValid(self) -> bool: ...
    def model(self) -> typing.Optional['QAbstractItemModel']: ...
    def internalId(self) -> int: ...
    def internalPointer(self) -> typing.Any: ...
    def flags(self) -> Qt.ItemFlag: ...
    def data(self, role: int = ...) -> typing.Any: ...
    def column(self) -> int: ...
    def row(self) -> int: ...


class QPersistentModelIndex(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, index: QModelIndex) -> None: ...
    @typing.overload
    def __init__(self, other: 'QPersistentModelIndex') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    @typing.overload
    def __ge__(self, rhs: QModelIndex) -> bool: ...
    @typing.overload
    def __ge__(self, rhs: 'QPersistentModelIndex') -> bool: ...
    @typing.overload
    def __le__(self, rhs: QModelIndex) -> bool: ...
    @typing.overload
    def __le__(self, rhs: 'QPersistentModelIndex') -> bool: ...
    @typing.overload
    def __gt__(self, rhs: QModelIndex) -> bool: ...
    @typing.overload
    def __gt__(self, rhs: 'QPersistentModelIndex') -> bool: ...
    @typing.overload
    def __lt__(self, rhs: QModelIndex) -> bool: ...
    @typing.overload
    def __lt__(self, rhs: 'QPersistentModelIndex') -> bool: ...
    def __hash__(self) -> int: ...
    def swap(self, other: 'QPersistentModelIndex') -> None: ...
    def isValid(self) -> bool: ...
    def model(self) -> typing.Optional['QAbstractItemModel']: ...
    def sibling(self, row: int, column: int) -> QModelIndex: ...
    def parent(self) -> QModelIndex: ...
    def flags(self) -> Qt.ItemFlag: ...
    def data(self, role: int = ...) -> typing.Any: ...
    def column(self) -> int: ...
    def row(self) -> int: ...


class QAbstractItemModel(QObject):

    class CheckIndexOption(enum.Flag):
        NoOption = ... # type: QAbstractItemModel.CheckIndexOption
        IndexIsValid = ... # type: QAbstractItemModel.CheckIndexOption
        DoNotUseParent = ... # type: QAbstractItemModel.CheckIndexOption
        ParentIsInvalid = ... # type: QAbstractItemModel.CheckIndexOption

    class LayoutChangeHint(enum.Enum):
        NoLayoutChangeHint = ... # type: QAbstractItemModel.LayoutChangeHint
        VerticalSortHint = ... # type: QAbstractItemModel.LayoutChangeHint
        HorizontalSortHint = ... # type: QAbstractItemModel.LayoutChangeHint

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def multiData(self, index: QModelIndex, roleDataSpan: 'QModelRoleDataSpan') -> None: ...
    def clearItemData(self, index: QModelIndex) -> bool: ...
    def checkIndex(self, index: QModelIndex, options: 'QAbstractItemModel.CheckIndexOption' = ...) -> bool: ...
    def moveColumn(self, sourceParent: QModelIndex, sourceColumn: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def moveRow(self, sourceParent: QModelIndex, sourceRow: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def moveColumns(self, sourceParent: QModelIndex, sourceColumn: int, count: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def moveRows(self, sourceParent: QModelIndex, sourceRow: int, count: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def canDropMimeData(self, data: typing.Optional['QMimeData'], action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def resetInternalData(self) -> None: ...
    def endResetModel(self) -> None: ...
    def beginResetModel(self) -> None: ...
    def endMoveColumns(self) -> None: ...
    def beginMoveColumns(self, sourceParent: QModelIndex, sourceFirst: int, sourceLast: int, destinationParent: QModelIndex, destinationColumn: int) -> bool: ...
    def endMoveRows(self) -> None: ...
    def beginMoveRows(self, sourceParent: QModelIndex, sourceFirst: int, sourceLast: int, destinationParent: QModelIndex, destinationRow: int) -> bool: ...
    columnsMoved: typing.ClassVar[pyqtSignal]
    columnsAboutToBeMoved: typing.ClassVar[pyqtSignal]
    rowsMoved: typing.ClassVar[pyqtSignal]
    rowsAboutToBeMoved: typing.ClassVar[pyqtSignal]
    def createIndex(self, row: int, column: int, object: typing.Any = ...) -> QModelIndex: ...
    def roleNames(self) -> dict[int, 'QByteArray']: ...
    def supportedDragActions(self) -> Qt.DropAction: ...
    def removeColumn(self, column: int, parent: QModelIndex = ...) -> bool: ...
    def removeRow(self, row: int, parent: QModelIndex = ...) -> bool: ...
    def insertColumn(self, column: int, parent: QModelIndex = ...) -> bool: ...
    def insertRow(self, row: int, parent: QModelIndex = ...) -> bool: ...
    def changePersistentIndexList(self, from_: collections.abc.Iterable[QModelIndex], to: collections.abc.Iterable[QModelIndex]) -> None: ...
    def changePersistentIndex(self, from_: QModelIndex, to: QModelIndex) -> None: ...
    def persistentIndexList(self) -> list[QModelIndex]: ...
    def endRemoveColumns(self) -> None: ...
    def beginRemoveColumns(self, parent: QModelIndex, first: int, last: int) -> None: ...
    def endInsertColumns(self) -> None: ...
    def beginInsertColumns(self, parent: QModelIndex, first: int, last: int) -> None: ...
    def endRemoveRows(self) -> None: ...
    def beginRemoveRows(self, parent: QModelIndex, first: int, last: int) -> None: ...
    def endInsertRows(self) -> None: ...
    def beginInsertRows(self, parent: QModelIndex, first: int, last: int) -> None: ...
    def decodeData(self, row: int, column: int, parent: QModelIndex, stream: 'QDataStream') -> bool: ...
    def encodeData(self, indexes: collections.abc.Iterable[QModelIndex], stream: 'QDataStream') -> None: ...
    def revert(self) -> None: ...
    def submit(self) -> bool: ...
    modelReset: typing.ClassVar[pyqtSignal]
    modelAboutToBeReset: typing.ClassVar[pyqtSignal]
    columnsRemoved: typing.ClassVar[pyqtSignal]
    columnsAboutToBeRemoved: typing.ClassVar[pyqtSignal]
    columnsInserted: typing.ClassVar[pyqtSignal]
    columnsAboutToBeInserted: typing.ClassVar[pyqtSignal]
    rowsRemoved: typing.ClassVar[pyqtSignal]
    rowsAboutToBeRemoved: typing.ClassVar[pyqtSignal]
    rowsInserted: typing.ClassVar[pyqtSignal]
    rowsAboutToBeInserted: typing.ClassVar[pyqtSignal]
    layoutChanged: typing.ClassVar[pyqtSignal]
    layoutAboutToBeChanged: typing.ClassVar[pyqtSignal]
    headerDataChanged: typing.ClassVar[pyqtSignal]
    dataChanged: typing.ClassVar[pyqtSignal]
    def span(self, index: QModelIndex) -> 'QSize': ...
    def match(self, start: QModelIndex, role: int, value: typing.Any, hits: int = ..., flags: Qt.MatchFlag = ...) -> list[QModelIndex]: ...
    def buddy(self, index: QModelIndex) -> QModelIndex: ...
    def sort(self, column: int, order: Qt.SortOrder = ...) -> None: ...
    def flags(self, index: QModelIndex) -> Qt.ItemFlag: ...
    def canFetchMore(self, parent: QModelIndex) -> bool: ...
    def fetchMore(self, parent: QModelIndex) -> None: ...
    def removeColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def removeRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def supportedDropActions(self) -> Qt.DropAction: ...
    def dropMimeData(self, data: typing.Optional['QMimeData'], action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def mimeData(self, indexes: collections.abc.Iterable[QModelIndex]) -> typing.Optional['QMimeData']: ...
    def mimeTypes(self) -> list[str]: ...
    def setItemData(self, index: QModelIndex, roles: dict[int, typing.Any]) -> bool: ...
    def itemData(self, index: QModelIndex) -> dict[int, typing.Any]: ...
    def setHeaderData(self, section: int, orientation: Qt.Orientation, value: typing.Any, role: int = ...) -> bool: ...
    def headerData(self, section: int, orientation: Qt.Orientation, role: int = ...) -> typing.Any: ...
    def setData(self, index: QModelIndex, value: typing.Any, role: int = ...) -> bool: ...
    def data(self, index: QModelIndex, role: int = ...) -> typing.Any: ...
    def hasChildren(self, parent: QModelIndex = ...) -> bool: ...
    def columnCount(self, parent: QModelIndex = ...) -> int: ...
    def rowCount(self, parent: QModelIndex = ...) -> int: ...
    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    @typing.overload
    def parent(self, child: QModelIndex) -> QModelIndex: ...
    @typing.overload
    def parent(self) -> typing.Optional[QObject]: ...
    def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: ...
    def hasIndex(self, row: int, column: int, parent: QModelIndex = ...) -> bool: ...


class QAbstractTableModel(QAbstractItemModel):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def parent(self) -> typing.Optional[QObject]: ...
    def flags(self, index: QModelIndex) -> Qt.ItemFlag: ...
    def dropMimeData(self, data: typing.Optional['QMimeData'], action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: ...


class QAbstractListModel(QAbstractItemModel):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def parent(self) -> typing.Optional[QObject]: ...
    def flags(self, index: QModelIndex) -> Qt.ItemFlag: ...
    def dropMimeData(self, data: typing.Optional['QMimeData'], action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def index(self, row: int, column: int = ..., parent: QModelIndex = ...) -> QModelIndex: ...


class QModelRoleData(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self, role: int) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QModelRoleData') -> None: ...

    def clearData(self) -> None: ...
    def setData(self, data: typing.Any) -> None: ...
    def data(self) -> typing.Any: ...
    def role(self) -> int: ...


class QModelRoleDataSpan(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, modelRoleData: QModelRoleData) -> None: ...
    @typing.overload
    def __init__(self, modelRoleData: collections.abc.Iterable[QModelRoleData]) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QModelRoleDataSpan') -> None: ...

    def dataForRole(self, role: int) -> typing.Optional[typing.Any]: ...
    def __getitem__(self, index: int) -> QModelRoleData: ...
    def end(self) -> typing.Optional[QModelRoleData]: ...
    def begin(self) -> typing.Optional[QModelRoleData]: ...
    def data(self) -> typing.Optional[QModelRoleData]: ...
    def __len__(self) -> int: ...
    def length(self) -> int: ...
    def size(self) -> int: ...


class QAbstractNativeEventFilter(PyQt6.sip.simplewrapper):

    def __init__(self) -> None: ...

    def nativeEventFilter(self, eventType: typing.Union['QByteArray', bytes, bytearray, memoryview], message: typing.Optional[PyQt6.sip.voidptr]) -> typing.Tuple[bool, typing.Optional[PyQt6.sip.voidptr]]: ...


class QAbstractProxyModel(QAbstractItemModel):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def roleNames(self) -> dict[int, 'QByteArray']: ...
    def clearItemData(self, index: QModelIndex) -> bool: ...
    def supportedDragActions(self) -> Qt.DropAction: ...
    def dropMimeData(self, data: typing.Optional['QMimeData'], action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def canDropMimeData(self, data: typing.Optional['QMimeData'], action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    sourceModelChanged: typing.ClassVar[pyqtSignal]
    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def supportedDropActions(self) -> Qt.DropAction: ...
    def mimeTypes(self) -> list[str]: ...
    def mimeData(self, indexes: collections.abc.Iterable[QModelIndex]) -> typing.Optional['QMimeData']: ...
    def hasChildren(self, parent: QModelIndex = ...) -> bool: ...
    def span(self, index: QModelIndex) -> 'QSize': ...
    def sort(self, column: int, order: Qt.SortOrder = ...) -> None: ...
    def fetchMore(self, parent: QModelIndex) -> None: ...
    def canFetchMore(self, parent: QModelIndex) -> bool: ...
    def buddy(self, index: QModelIndex) -> QModelIndex: ...
    def setItemData(self, index: QModelIndex, roles: dict[int, typing.Any]) -> bool: ...
    def flags(self, index: QModelIndex) -> Qt.ItemFlag: ...
    def itemData(self, index: QModelIndex) -> dict[int, typing.Any]: ...
    def setHeaderData(self, section: int, orientation: Qt.Orientation, value: typing.Any, role: int = ...) -> bool: ...
    def headerData(self, section: int, orientation: Qt.Orientation, role: int = ...) -> typing.Any: ...
    def setData(self, index: QModelIndex, value: typing.Any, role: int = ...) -> bool: ...
    def data(self, proxyIndex: QModelIndex, role: int = ...) -> typing.Any: ...
    def revert(self) -> None: ...
    def submit(self) -> bool: ...
    def mapSelectionFromSource(self, selection: 'QItemSelection') -> 'QItemSelection': ...
    def mapSelectionToSource(self, selection: 'QItemSelection') -> 'QItemSelection': ...
    def mapFromSource(self, sourceIndex: QModelIndex) -> QModelIndex: ...
    def mapToSource(self, proxyIndex: QModelIndex) -> QModelIndex: ...
    def sourceModel(self) -> typing.Optional[QAbstractItemModel]: ...
    def setSourceModel(self, sourceModel: typing.Optional[QAbstractItemModel]) -> None: ...


class QAnimationGroup(QAbstractAnimation):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def event(self, event: typing.Optional['QEvent']) -> bool: ...
    def clear(self) -> None: ...
    def takeAnimation(self, index: int) -> typing.Optional[QAbstractAnimation]: ...
    def removeAnimation(self, animation: typing.Optional[QAbstractAnimation]) -> None: ...
    def insertAnimation(self, index: int, animation: typing.Optional[QAbstractAnimation]) -> None: ...
    def addAnimation(self, animation: typing.Optional[QAbstractAnimation]) -> None: ...
    def indexOfAnimation(self, animation: typing.Optional[QAbstractAnimation]) -> int: ...
    def animationCount(self) -> int: ...
    def animationAt(self, index: int) -> typing.Optional[QAbstractAnimation]: ...


class QBasicTimer(PyQt6.sip.simplewrapper):

    def __init__(self) -> None: ...

    def id(self) -> int: ...
    def swap(self, other: 'QBasicTimer') -> None: ...
    def stop(self) -> None: ...
    @typing.overload
    def start(self, msec: int, timerType: Qt.TimerType, obj: typing.Optional[QObject]) -> None: ...
    @typing.overload
    def start(self, msec: int, obj: typing.Optional[QObject]) -> None: ...
    def timerId(self) -> int: ...
    def isActive(self) -> bool: ...


class QBitArray(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, size: int, value: bool = ...) -> None: ...
    @typing.overload
    def __init__(self, other: 'QBitArray') -> None: ...

    def __or__(self, a0: 'QBitArray') -> 'QBitArray': ...
    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __and__(self, a0: 'QBitArray') -> 'QBitArray': ...
    def __xor__(self, a0: 'QBitArray') -> 'QBitArray': ...
    def toUInt32(self, endianness: 'QSysInfo.Endian') -> typing.Tuple[int, typing.Optional[bool]]: ...
    @staticmethod
    def fromBits(data: typing.Optional[bytes], len: int) -> 'QBitArray': ...
    def bits(self) -> bytes: ...
    def swap(self, other: 'QBitArray') -> None: ...
    def __hash__(self) -> int: ...
    def at(self, i: int) -> bool: ...
    def __getitem__(self, i: int) -> bool: ...
    def toggleBit(self, i: int) -> bool: ...
    def clearBit(self, i: int) -> None: ...
    @typing.overload
    def setBit(self, i: int) -> None: ...
    @typing.overload
    def setBit(self, i: int, val: bool) -> None: ...
    def testBit(self, i: int) -> bool: ...
    def truncate(self, pos: int) -> None: ...
    @typing.overload
    def fill(self, val: bool, first: int, last: int) -> None: ...
    @typing.overload
    def fill(self, val: bool, size: int = ...) -> bool: ...
    def __ixor__(self, a0: 'QBitArray') -> 'QBitArray': ...
    def __ior__(self, a0: 'QBitArray') -> 'QBitArray': ...
    def __iand__(self, a0: 'QBitArray') -> 'QBitArray': ...
    def clear(self) -> None: ...
    def isDetached(self) -> bool: ...
    def detach(self) -> None: ...
    def resize(self, size: int) -> None: ...
    def isNull(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def __len__(self) -> int: ...
    @typing.overload
    def count(self) -> int: ...
    @typing.overload
    def count(self, on: bool) -> int: ...
    def size(self) -> int: ...


class QIODeviceBase(PyQt6.sip.simplewrapper):

    class OpenModeFlag(enum.Flag):
        NotOpen = ... # type: QIODeviceBase.OpenModeFlag
        ReadOnly = ... # type: QIODeviceBase.OpenModeFlag
        WriteOnly = ... # type: QIODeviceBase.OpenModeFlag
        ReadWrite = ... # type: QIODeviceBase.OpenModeFlag
        Append = ... # type: QIODeviceBase.OpenModeFlag
        Truncate = ... # type: QIODeviceBase.OpenModeFlag
        Text = ... # type: QIODeviceBase.OpenModeFlag
        Unbuffered = ... # type: QIODeviceBase.OpenModeFlag
        NewOnly = ... # type: QIODeviceBase.OpenModeFlag
        ExistingOnly = ... # type: QIODeviceBase.OpenModeFlag

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QIODeviceBase') -> None: ...


class QIODevice(QObject, QIODeviceBase):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, parent: typing.Optional[QObject]) -> None: ...

    def setErrorString(self, errorString: typing.Optional[str]) -> None: ...
    def setOpenMode(self, openMode: QIODeviceBase.OpenModeFlag) -> None: ...
    def skipData(self, maxSize: int) -> int: ...
    def writeData(self, a0: PyQt6.sip.Buffer) -> int: ...
    def readLineData(self, maxlen: int) -> bytes: ...
    def readData(self, maxlen: int) -> bytes: ...
    readyRead: typing.ClassVar[pyqtSignal]
    readChannelFinished: typing.ClassVar[pyqtSignal]
    channelReadyRead: typing.ClassVar[pyqtSignal]
    channelBytesWritten: typing.ClassVar[pyqtSignal]
    bytesWritten: typing.ClassVar[pyqtSignal]
    aboutToClose: typing.ClassVar[pyqtSignal]
    def errorString(self) -> str: ...
    def getChar(self) -> typing.Tuple[bool, typing.Optional[bytes]]: ...
    def putChar(self, c: bytes) -> bool: ...
    def ungetChar(self, c: bytes) -> None: ...
    def waitForBytesWritten(self, msecs: int) -> bool: ...
    def waitForReadyRead(self, msecs: int) -> bool: ...
    def skip(self, maxSize: int) -> int: ...
    def peek(self, maxlen: int) -> bytes: ...
    def write(self, a0: PyQt6.sip.Buffer) -> int: ...
    def isTransactionStarted(self) -> bool: ...
    def rollbackTransaction(self) -> None: ...
    def commitTransaction(self) -> None: ...
    def startTransaction(self) -> None: ...
    def canReadLine(self) -> bool: ...
    def readAll(self) -> 'QByteArray': ...
    def readLineInto(self, result: typing.Optional[typing.Union['QByteArray', bytes, bytearray, memoryview]], maxSize: int = ...) -> bool: ...
    @typing.overload
    def readLine(self, maxlen: int) -> bytes: ...
    @typing.overload
    def readLine(self) -> 'QByteArray': ...
    def read(self, maxlen: int) -> bytes: ...
    def bytesToWrite(self) -> int: ...
    def bytesAvailable(self) -> int: ...
    def reset(self) -> bool: ...
    def atEnd(self) -> bool: ...
    def seek(self, pos: int) -> bool: ...
    def size(self) -> int: ...
    def pos(self) -> int: ...
    def close(self) -> None: ...
    def open(self, mode: QIODeviceBase.OpenModeFlag) -> bool: ...
    def setCurrentWriteChannel(self, channel: int) -> None: ...
    def currentWriteChannel(self) -> int: ...
    def setCurrentReadChannel(self, channel: int) -> None: ...
    def currentReadChannel(self) -> int: ...
    def writeChannelCount(self) -> int: ...
    def readChannelCount(self) -> int: ...
    def isSequential(self) -> bool: ...
    def isWritable(self) -> bool: ...
    def isReadable(self) -> bool: ...
    def isOpen(self) -> bool: ...
    def isTextModeEnabled(self) -> bool: ...
    def setTextModeEnabled(self, enabled: bool) -> None: ...
    def openMode(self) -> QIODeviceBase.OpenModeFlag: ...


class QBuffer(QIODevice):

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, byteArray: typing.Optional['QByteArray'], parent: typing.Optional[QObject] = ...) -> None: ...

    def writeData(self, a0: PyQt6.sip.Buffer) -> int: ...
    def readData(self, maxlen: int) -> bytes: ...
    def canReadLine(self) -> bool: ...
    def atEnd(self) -> bool: ...
    def seek(self, off: int) -> bool: ...
    def pos(self) -> int: ...
    def size(self) -> int: ...
    def close(self) -> None: ...
    def open(self, openMode: QIODeviceBase.OpenModeFlag) -> bool: ...
    @typing.overload
    def setData(self, data: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> None: ...
    @typing.overload
    def setData(self, data: typing.Optional[PyQt6.sip.array[bytes]]) -> None: ...
    def setBuffer(self, a: typing.Optional['QByteArray']) -> None: ...
    def data(self) -> 'QByteArray': ...
    def buffer(self) -> 'QByteArray': ...


class QByteArray(PyQt6.sip.simplewrapper):

    class Base64DecodingStatus(enum.Enum):
        Ok = ... # type: QByteArray.Base64DecodingStatus
        IllegalInputLength = ... # type: QByteArray.Base64DecodingStatus
        IllegalCharacter = ... # type: QByteArray.Base64DecodingStatus
        IllegalPadding = ... # type: QByteArray.Base64DecodingStatus

    class Base64Option(enum.Flag):
        Base64Encoding = ... # type: QByteArray.Base64Option
        Base64UrlEncoding = ... # type: QByteArray.Base64Option
        KeepTrailingEquals = ... # type: QByteArray.Base64Option
        OmitTrailingEquals = ... # type: QByteArray.Base64Option
        IgnoreBase64DecodingErrors = ... # type: QByteArray.Base64Option
        AbortOnBase64DecodingErrors = ... # type: QByteArray.Base64Option

    class FromBase64Result(PyQt6.sip.simplewrapper):

        decoded = ... # type: typing.Union['QByteArray', bytes, bytearray, memoryview]
        decodingStatus = ... # type: 'QByteArray.Base64DecodingStatus'

        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, a0: 'QByteArray.FromBase64Result') -> None: ...

        def __eq__(self, other: object): ...
        def __ne__(self, other: object): ...
        def __hash__(self) -> int: ...
        def __int__(self) -> bool: ...
        def swap(self, other: 'QByteArray.FromBase64Result') -> None: ...

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, size: int, c: bytes) -> None: ...
    @typing.overload
    def __init__(self, a: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> None: ...

    def __add__(self, a2: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> 'QByteArray': ...
    @staticmethod
    def maxSize() -> int: ...
    def max_size(self) -> int: ...
    @typing.overload
    def slice(self, pos: int, n: int) -> 'QByteArray': ...
    @typing.overload
    def slice(self, pos: int) -> 'QByteArray': ...
    def assign(self, v: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> 'QByteArray': ...
    def removeLast(self) -> 'QByteArray': ...
    def removeFirst(self) -> 'QByteArray': ...
    def removeAt(self, pos: int) -> 'QByteArray': ...
    def percentDecoded(self, percent: str = ...) -> 'QByteArray': ...
    def isValidUtf8(self) -> bool: ...
    @typing.overload
    def sliced(self, pos: int) -> 'QByteArray': ...
    @typing.overload
    def sliced(self, pos: int, n: int) -> 'QByteArray': ...
    @staticmethod
    def fromBase64Encoding(base64: typing.Union['QByteArray', bytes, bytearray, memoryview], options: 'QByteArray.Base64Option' = ...) -> 'QByteArray.FromBase64Result': ...
    def isLower(self) -> bool: ...
    def isUpper(self) -> bool: ...
    def compare(self, a: typing.Union['QByteArray', bytes, bytearray, memoryview], cs: Qt.CaseSensitivity = ...) -> int: ...
    def chopped(self, len: int) -> 'QByteArray': ...
    def swap(self, other: 'QByteArray') -> None: ...
    def repeated(self, times: int) -> 'QByteArray': ...
    @staticmethod
    def fromPercentEncoding(input: typing.Union['QByteArray', bytes, bytearray, memoryview], percent: str = ...) -> 'QByteArray': ...
    def toPercentEncoding(self, exclude: typing.Union['QByteArray', bytes, bytearray, memoryview] = ..., include: typing.Union['QByteArray', bytes, bytearray, memoryview] = ..., percent: str = ...) -> 'QByteArray': ...
    def toHex(self, separator: bytes = ...) -> 'QByteArray': ...
    def contains(self, bv: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> bool: ...
    def push_front(self, a: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> None: ...
    def push_back(self, a: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> None: ...
    def squeeze(self) -> None: ...
    def reserve(self, size: int) -> None: ...
    def capacity(self) -> int: ...
    def data(self) -> bytes: ...
    def isEmpty(self) -> bool: ...
    def __imul__(self, m: int) -> 'QByteArray': ...
    def __mul__(self, m: int) -> 'QByteArray': ...
    def __repr__(self) -> str: ...
    def __str__(self) -> str: ...
    def __hash__(self) -> int: ...
    def __contains__(self, bv: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> int: ...
    @typing.overload
    def __getitem__(self, i: int) -> bytes: ...
    @typing.overload
    def __getitem__(self, slice: slice) -> 'QByteArray': ...
    def at(self, i: int) -> bytes: ...
    def __len__(self) -> int: ...
    def size(self) -> int: ...
    def isNull(self) -> bool: ...
    def length(self) -> int: ...
    @staticmethod
    def fromHex(hexEncoded: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> 'QByteArray': ...
    @staticmethod
    def fromBase64(base64: typing.Union['QByteArray', bytes, bytearray, memoryview], options: 'QByteArray.Base64Option' = ...) -> 'QByteArray': ...
    @typing.overload
    @staticmethod
    def number(n: float, format: str = ..., precision: int = ...) -> 'QByteArray': ...
    @typing.overload
    @staticmethod
    def number(n: int, base: int = ...) -> 'QByteArray': ...
    @typing.overload
    def setNum(self, n: float, format: str = ..., precision: int = ...) -> 'QByteArray': ...
    @typing.overload
    def setNum(self, n: int, base: int = ...) -> 'QByteArray': ...
    def toBase64(self, options: 'QByteArray.Base64Option' = ...) -> 'QByteArray': ...
    def toDouble(self) -> typing.Tuple[float, typing.Optional[bool]]: ...
    def toFloat(self) -> typing.Tuple[float, typing.Optional[bool]]: ...
    def toULongLong(self, base: int = ...) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toLongLong(self, base: int = ...) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toULong(self, base: int = ...) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toLong(self, base: int = ...) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toUInt(self, base: int = ...) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toInt(self, base: int = ...) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toUShort(self, base: int = ...) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toShort(self, base: int = ...) -> typing.Tuple[int, typing.Optional[bool]]: ...
    @typing.overload
    def __ge__(self, s2: typing.Optional[str]) -> bool: ...
    @typing.overload
    def __ge__(self, a2: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> bool: ...
    @typing.overload
    def __le__(self, s2: typing.Optional[str]) -> bool: ...
    @typing.overload
    def __le__(self, a2: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> bool: ...
    @typing.overload
    def __gt__(self, s2: typing.Optional[str]) -> bool: ...
    @typing.overload
    def __gt__(self, a2: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> bool: ...
    @typing.overload
    def __lt__(self, s2: typing.Optional[str]) -> bool: ...
    @typing.overload
    def __lt__(self, a2: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> bool: ...
    def __ne__(self, other: object): ...
    def __eq__(self, other: object): ...
    def __iadd__(self, a: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> 'QByteArray': ...
    def split(self, sep: bytes) -> list['QByteArray']: ...
    @typing.overload
    def replace(self, before: typing.Union['QByteArray', bytes, bytearray, memoryview], after: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> 'QByteArray': ...
    @typing.overload
    def replace(self, index: int, len: int, s: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> 'QByteArray': ...
    def remove(self, index: int, len: int) -> 'QByteArray': ...
    @typing.overload
    def insert(self, i: int, data: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> 'QByteArray': ...
    @typing.overload
    def insert(self, i: int, count: int, c: bytes) -> 'QByteArray': ...
    @typing.overload
    def append(self, a: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> 'QByteArray': ...
    @typing.overload
    def append(self, count: int, c: bytes) -> 'QByteArray': ...
    @typing.overload
    def prepend(self, a: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> 'QByteArray': ...
    @typing.overload
    def prepend(self, count: int, c: bytes) -> 'QByteArray': ...
    def rightJustified(self, width: int, fill: bytes = ..., truncate: bool = ...) -> 'QByteArray': ...
    def leftJustified(self, width: int, fill: bytes = ..., truncate: bool = ...) -> 'QByteArray': ...
    def simplified(self) -> 'QByteArray': ...
    def trimmed(self) -> 'QByteArray': ...
    def toUpper(self) -> 'QByteArray': ...
    def toLower(self) -> 'QByteArray': ...
    def chop(self, n: int) -> None: ...
    def truncate(self, pos: int) -> None: ...
    def endsWith(self, bv: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> bool: ...
    def startsWith(self, bv: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> bool: ...
    def last(self, n: int) -> 'QByteArray': ...
    def first(self, n: int) -> 'QByteArray': ...
    def mid(self, index: int, length: int = ...) -> 'QByteArray': ...
    def right(self, len: int) -> 'QByteArray': ...
    def left(self, len: int) -> 'QByteArray': ...
    @typing.overload
    def count(self, bv: typing.Union['QByteArray', bytes, bytearray, memoryview]) -> int: ...
    @typing.overload
    def count(self) -> int: ...
    def lastIndexOf(self, bv: typing.Union['QByteArray', bytes, bytearray, memoryview], from_: int = ...) -> int: ...
    def indexOf(self, bv: typing.Union['QByteArray', bytes, bytearray, memoryview], from_: int = ...) -> int: ...
    def clear(self) -> None: ...
    def fill(self, c: bytes, size: int = ...) -> 'QByteArray': ...
    @typing.overload
    def resize(self, size: int) -> None: ...
    @typing.overload
    def resize(self, size: int, c: str) -> None: ...


class QByteArrayMatcher(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self, pattern: typing.Optional[bytes], length: int = ...) -> None: ...
    @typing.overload
    def __init__(self, pattern: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: 'QByteArrayMatcher') -> None: ...

    def pattern(self) -> QByteArray: ...
    @typing.overload
    def indexIn(self, data: typing.Union[QByteArray, bytes, bytearray, memoryview], from_: int = ...) -> int: ...
    @typing.overload
    def indexIn(self, str: typing.Optional[bytes], len: int, from_: int = ...) -> int: ...
    def setPattern(self, pattern: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...


class QCalendar(PyQt6.sip.simplewrapper):

    class System(enum.Enum):
        Gregorian = ... # type: QCalendar.System
        Julian = ... # type: QCalendar.System
        Milankovic = ... # type: QCalendar.System
        Jalali = ... # type: QCalendar.System
        IslamicCivil = ... # type: QCalendar.System

    Unspecified = ... # type: int

    class YearMonthDay(PyQt6.sip.simplewrapper):

        day = ... # type: int
        month = ... # type: int
        year = ... # type: int

        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, year: int, month: int = ..., day: int = ...) -> None: ...
        @typing.overload
        def __init__(self, a0: 'QCalendar.YearMonthDay') -> None: ...

        def isValid(self) -> bool: ...

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, system: 'QCalendar.System') -> None: ...
    @typing.overload
    def __init__(self, name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QCalendar') -> None: ...

    def matchCenturyToWeekday(self, parts: 'QCalendar.YearMonthDay', dow: int) -> 'QDate': ...
    @staticmethod
    def availableCalendars() -> list[str]: ...
    def dateTimeToString(self, format: str, datetime: typing.Union['QDateTime', datetime.datetime], dateOnly: typing.Union['QDate', datetime.date], timeOnly: typing.Union['QTime', datetime.time], locale: 'QLocale') -> str: ...
    def standaloneWeekDayName(self, locale: 'QLocale', day: int, format: 'QLocale.FormatType' = ...) -> str: ...
    def weekDayName(self, locale: 'QLocale', day: int, format: 'QLocale.FormatType' = ...) -> str: ...
    def standaloneMonthName(self, locale: 'QLocale', month: int, year: int = ..., format: 'QLocale.FormatType' = ...) -> str: ...
    def monthName(self, locale: 'QLocale', month: int, year: int = ..., format: 'QLocale.FormatType' = ...) -> str: ...
    def dayOfWeek(self, date: typing.Union['QDate', datetime.date]) -> int: ...
    def partsFromDate(self, date: typing.Union['QDate', datetime.date]) -> 'QCalendar.YearMonthDay': ...
    @typing.overload
    def dateFromParts(self, year: int, month: int, day: int) -> 'QDate': ...
    @typing.overload
    def dateFromParts(self, parts: 'QCalendar.YearMonthDay') -> 'QDate': ...
    def name(self) -> str: ...
    def maximumMonthsInYear(self) -> int: ...
    def minimumDaysInMonth(self) -> int: ...
    def maximumDaysInMonth(self) -> int: ...
    def hasYearZero(self) -> bool: ...
    def isProleptic(self) -> bool: ...
    def isSolar(self) -> bool: ...
    def isLuniSolar(self) -> bool: ...
    def isLunar(self) -> bool: ...
    def isGregorian(self) -> bool: ...
    def isLeapYear(self, year: int) -> bool: ...
    def isDateValid(self, year: int, month: int, day: int) -> bool: ...
    def monthsInYear(self, year: int) -> int: ...
    def daysInYear(self, year: int) -> int: ...
    def daysInMonth(self, month: int, year: int = ...) -> int: ...


class QCborError(PyQt6.sip.simplewrapper):

    class Code(enum.Enum):
        UnknownError = ... # type: QCborError.Code
        AdvancePastEnd = ... # type: QCborError.Code
        InputOutputError = ... # type: QCborError.Code
        GarbageAtEnd = ... # type: QCborError.Code
        EndOfFile = ... # type: QCborError.Code
        UnexpectedBreak = ... # type: QCborError.Code
        UnknownType = ... # type: QCborError.Code
        IllegalType = ... # type: QCborError.Code
        IllegalNumber = ... # type: QCborError.Code
        IllegalSimpleType = ... # type: QCborError.Code
        InvalidUtf8String = ... # type: QCborError.Code
        DataTooLarge = ... # type: QCborError.Code
        NestingTooDeep = ... # type: QCborError.Code
        UnsupportedType = ... # type: QCborError.Code
        NoError = ... # type: QCborError.Code

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QCborError') -> None: ...

    def toString(self) -> str: ...
    def code(self) -> 'QCborError.Code': ...


class QCborStreamReader(PyQt6.sip.simplewrapper):

    class StringResultCode(enum.Enum):
        EndOfString = ... # type: QCborStreamReader.StringResultCode
        Ok = ... # type: QCborStreamReader.StringResultCode
        Error = ... # type: QCborStreamReader.StringResultCode

    class Type(enum.Enum):
        UnsignedInteger = ... # type: QCborStreamReader.Type
        NegativeInteger = ... # type: QCborStreamReader.Type
        ByteString = ... # type: QCborStreamReader.Type
        ByteArray = ... # type: QCborStreamReader.Type
        TextString = ... # type: QCborStreamReader.Type
        String = ... # type: QCborStreamReader.Type
        Array = ... # type: QCborStreamReader.Type
        Map = ... # type: QCborStreamReader.Type
        Tag = ... # type: QCborStreamReader.Type
        SimpleType = ... # type: QCborStreamReader.Type
        HalfFloat = ... # type: QCborStreamReader.Type
        Float16 = ... # type: QCborStreamReader.Type
        Float = ... # type: QCborStreamReader.Type
        Double = ... # type: QCborStreamReader.Type
        Invalid = ... # type: QCborStreamReader.Type

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, data: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...
    @typing.overload
    def __init__(self, device: typing.Optional[QIODevice]) -> None: ...

    def readAllByteArray(self) -> QByteArray: ...
    def readAllUtf8String(self) -> QByteArray: ...
    def readAllString(self) -> str: ...
    def readAndAppendToByteArray(self, dst: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> bool: ...
    def readAndAppendToUtf8String(self, dst: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> bool: ...
    def readAndAppendToString(self, dst: typing.Optional[str]) -> bool: ...
    def toInteger(self) -> int: ...
    def toDouble(self) -> float: ...
    def toSimpleType(self) -> QCborSimpleType: ...
    def toUnsignedInteger(self) -> int: ...
    def toBool(self) -> bool: ...
    def readUtf8String(self) -> tuple[QByteArray, 'QCborStreamReader.StringResultCode']: ...
    def readByteArray(self) -> tuple[QByteArray, 'QCborStreamReader.StringResultCode']: ...
    def readString(self) -> tuple[str, 'QCborStreamReader.StringResultCode']: ...
    def leaveContainer(self) -> bool: ...
    def enterContainer(self) -> bool: ...
    def isContainer(self) -> bool: ...
    def __len__(self) -> int: ...
    def length(self) -> int: ...
    def isLengthKnown(self) -> bool: ...
    def isUndefined(self) -> bool: ...
    def isNull(self) -> bool: ...
    def isBool(self) -> bool: ...
    def isTrue(self) -> bool: ...
    def isFalse(self) -> bool: ...
    def isInvalid(self) -> bool: ...
    def isDouble(self) -> bool: ...
    def isFloat(self) -> bool: ...
    def isFloat16(self) -> bool: ...
    @typing.overload
    def isSimpleType(self) -> bool: ...
    @typing.overload
    def isSimpleType(self, st: QCborSimpleType) -> bool: ...
    def isTag(self) -> bool: ...
    def isMap(self) -> bool: ...
    def isArray(self) -> bool: ...
    def isString(self) -> bool: ...
    def isByteArray(self) -> bool: ...
    def isInteger(self) -> bool: ...
    def isNegativeInteger(self) -> bool: ...
    def isUnsignedInteger(self) -> bool: ...
    def type(self) -> 'QCborStreamReader.Type': ...
    def next(self, maxRecursion: int = ...) -> bool: ...
    def hasNext(self) -> bool: ...
    def parentContainerType(self) -> 'QCborStreamReader.Type': ...
    def containerDepth(self) -> int: ...
    def isValid(self) -> bool: ...
    def currentOffset(self) -> int: ...
    def lastError(self) -> QCborError: ...
    def reset(self) -> None: ...
    def clear(self) -> None: ...
    def reparse(self) -> None: ...
    def addData(self, data: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...
    def device(self) -> typing.Optional[QIODevice]: ...
    def setDevice(self, device: typing.Optional[QIODevice]) -> None: ...


class QCborStreamWriter(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self, device: typing.Optional[QIODevice]) -> None: ...
    @typing.overload
    def __init__(self, data: typing.Optional[QByteArray]) -> None: ...

    def endMap(self) -> bool: ...
    @typing.overload
    def startMap(self) -> None: ...
    @typing.overload
    def startMap(self, count: int) -> None: ...
    def endArray(self) -> bool: ...
    @typing.overload
    def startArray(self) -> None: ...
    @typing.overload
    def startArray(self, count: int) -> None: ...
    def appendUndefined(self) -> None: ...
    def appendNull(self) -> None: ...
    @typing.overload
    def append(self, ba: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...
    @typing.overload
    def append(self, str: str) -> None: ...
    @typing.overload
    def append(self, tag: QCborKnownTags) -> None: ...
    @typing.overload
    def append(self, st: QCborSimpleType) -> None: ...
    @typing.overload
    def append(self, b: bool) -> None: ...
    @typing.overload
    def append(self, d: float) -> None: ...
    @typing.overload
    def append(self, a0: int) -> None: ...
    def device(self) -> typing.Optional[QIODevice]: ...
    def setDevice(self, device: typing.Optional[QIODevice]) -> None: ...


class QChar(PyQt6.sip.simplewrapper):

    class Script(enum.Enum):
        Script_Unknown = ... # type: QChar.Script
        Script_Inherited = ... # type: QChar.Script
        Script_Common = ... # type: QChar.Script
        Script_Latin = ... # type: QChar.Script
        Script_Greek = ... # type: QChar.Script
        Script_Cyrillic = ... # type: QChar.Script
        Script_Armenian = ... # type: QChar.Script
        Script_Hebrew = ... # type: QChar.Script
        Script_Arabic = ... # type: QChar.Script
        Script_Syriac = ... # type: QChar.Script
        Script_Thaana = ... # type: QChar.Script
        Script_Devanagari = ... # type: QChar.Script
        Script_Bengali = ... # type: QChar.Script
        Script_Gurmukhi = ... # type: QChar.Script
        Script_Gujarati = ... # type: QChar.Script
        Script_Oriya = ... # type: QChar.Script
        Script_Tamil = ... # type: QChar.Script
        Script_Telugu = ... # type: QChar.Script
        Script_Kannada = ... # type: QChar.Script
        Script_Malayalam = ... # type: QChar.Script
        Script_Sinhala = ... # type: QChar.Script
        Script_Thai = ... # type: QChar.Script
        Script_Lao = ... # type: QChar.Script
        Script_Tibetan = ... # type: QChar.Script
        Script_Myanmar = ... # type: QChar.Script
        Script_Georgian = ... # type: QChar.Script
        Script_Hangul = ... # type: QChar.Script
        Script_Ethiopic = ... # type: QChar.Script
        Script_Cherokee = ... # type: QChar.Script
        Script_CanadianAboriginal = ... # type: QChar.Script
        Script_Ogham = ... # type: QChar.Script
        Script_Runic = ... # type: QChar.Script
        Script_Khmer = ... # type: QChar.Script
        Script_Mongolian = ... # type: QChar.Script
        Script_Hiragana = ... # type: QChar.Script
        Script_Katakana = ... # type: QChar.Script
        Script_Bopomofo = ... # type: QChar.Script
        Script_Han = ... # type: QChar.Script
        Script_Yi = ... # type: QChar.Script
        Script_OldItalic = ... # type: QChar.Script
        Script_Gothic = ... # type: QChar.Script
        Script_Deseret = ... # type: QChar.Script
        Script_Tagalog = ... # type: QChar.Script
        Script_Hanunoo = ... # type: QChar.Script
        Script_Buhid = ... # type: QChar.Script
        Script_Tagbanwa = ... # type: QChar.Script
        Script_Coptic = ... # type: QChar.Script
        Script_Limbu = ... # type: QChar.Script
        Script_TaiLe = ... # type: QChar.Script
        Script_LinearB = ... # type: QChar.Script
        Script_Ugaritic = ... # type: QChar.Script
        Script_Shavian = ... # type: QChar.Script
        Script_Osmanya = ... # type: QChar.Script
        Script_Cypriot = ... # type: QChar.Script
        Script_Braille = ... # type: QChar.Script
        Script_Buginese = ... # type: QChar.Script
        Script_NewTaiLue = ... # type: QChar.Script
        Script_Glagolitic = ... # type: QChar.Script
        Script_Tifinagh = ... # type: QChar.Script
        Script_SylotiNagri = ... # type: QChar.Script
        Script_OldPersian = ... # type: QChar.Script
        Script_Kharoshthi = ... # type: QChar.Script
        Script_Balinese = ... # type: QChar.Script
        Script_Cuneiform = ... # type: QChar.Script
        Script_Phoenician = ... # type: QChar.Script
        Script_PhagsPa = ... # type: QChar.Script
        Script_Nko = ... # type: QChar.Script
        Script_Sundanese = ... # type: QChar.Script
        Script_Lepcha = ... # type: QChar.Script
        Script_OlChiki = ... # type: QChar.Script
        Script_Vai = ... # type: QChar.Script
        Script_Saurashtra = ... # type: QChar.Script
        Script_KayahLi = ... # type: QChar.Script
        Script_Rejang = ... # type: QChar.Script
        Script_Lycian = ... # type: QChar.Script
        Script_Carian = ... # type: QChar.Script
        Script_Lydian = ... # type: QChar.Script
        Script_Cham = ... # type: QChar.Script
        Script_TaiTham = ... # type: QChar.Script
        Script_TaiViet = ... # type: QChar.Script
        Script_Avestan = ... # type: QChar.Script
        Script_EgyptianHieroglyphs = ... # type: QChar.Script
        Script_Samaritan = ... # type: QChar.Script
        Script_Lisu = ... # type: QChar.Script
        Script_Bamum = ... # type: QChar.Script
        Script_Javanese = ... # type: QChar.Script
        Script_MeeteiMayek = ... # type: QChar.Script
        Script_ImperialAramaic = ... # type: QChar.Script
        Script_OldSouthArabian = ... # type: QChar.Script
        Script_InscriptionalParthian = ... # type: QChar.Script
        Script_InscriptionalPahlavi = ... # type: QChar.Script
        Script_OldTurkic = ... # type: QChar.Script
        Script_Kaithi = ... # type: QChar.Script
        Script_Batak = ... # type: QChar.Script
        Script_Brahmi = ... # type: QChar.Script
        Script_Mandaic = ... # type: QChar.Script
        Script_Chakma = ... # type: QChar.Script
        Script_MeroiticCursive = ... # type: QChar.Script
        Script_MeroiticHieroglyphs = ... # type: QChar.Script
        Script_Miao = ... # type: QChar.Script
        Script_Sharada = ... # type: QChar.Script
        Script_SoraSompeng = ... # type: QChar.Script
        Script_Takri = ... # type: QChar.Script
        Script_CaucasianAlbanian = ... # type: QChar.Script
        Script_BassaVah = ... # type: QChar.Script
        Script_Duployan = ... # type: QChar.Script
        Script_Elbasan = ... # type: QChar.Script
        Script_Grantha = ... # type: QChar.Script
        Script_PahawhHmong = ... # type: QChar.Script
        Script_Khojki = ... # type: QChar.Script
        Script_LinearA = ... # type: QChar.Script
        Script_Mahajani = ... # type: QChar.Script
        Script_Manichaean = ... # type: QChar.Script
        Script_MendeKikakui = ... # type: QChar.Script
        Script_Modi = ... # type: QChar.Script
        Script_Mro = ... # type: QChar.Script
        Script_OldNorthArabian = ... # type: QChar.Script
        Script_Nabataean = ... # type: QChar.Script
        Script_Palmyrene = ... # type: QChar.Script
        Script_PauCinHau = ... # type: QChar.Script
        Script_OldPermic = ... # type: QChar.Script
        Script_PsalterPahlavi = ... # type: QChar.Script
        Script_Siddham = ... # type: QChar.Script
        Script_Khudawadi = ... # type: QChar.Script
        Script_Tirhuta = ... # type: QChar.Script
        Script_WarangCiti = ... # type: QChar.Script
        Script_Ahom = ... # type: QChar.Script
        Script_AnatolianHieroglyphs = ... # type: QChar.Script
        Script_Hatran = ... # type: QChar.Script
        Script_Multani = ... # type: QChar.Script
        Script_OldHungarian = ... # type: QChar.Script
        Script_SignWriting = ... # type: QChar.Script
        Script_Adlam = ... # type: QChar.Script
        Script_Bhaiksuki = ... # type: QChar.Script
        Script_Marchen = ... # type: QChar.Script
        Script_Newa = ... # type: QChar.Script
        Script_Osage = ... # type: QChar.Script
        Script_Tangut = ... # type: QChar.Script
        Script_MasaramGondi = ... # type: QChar.Script
        Script_Nushu = ... # type: QChar.Script
        Script_Soyombo = ... # type: QChar.Script
        Script_ZanabazarSquare = ... # type: QChar.Script
        Script_Dogra = ... # type: QChar.Script
        Script_GunjalaGondi = ... # type: QChar.Script
        Script_HanifiRohingya = ... # type: QChar.Script
        Script_Makasar = ... # type: QChar.Script
        Script_Medefaidrin = ... # type: QChar.Script
        Script_OldSogdian = ... # type: QChar.Script
        Script_Sogdian = ... # type: QChar.Script
        Script_Elymaic = ... # type: QChar.Script
        Script_Nandinagari = ... # type: QChar.Script
        Script_NyiakengPuachueHmong = ... # type: QChar.Script
        Script_Wancho = ... # type: QChar.Script
        Script_Chorasmian = ... # type: QChar.Script
        Script_DivesAkuru = ... # type: QChar.Script
        Script_KhitanSmallScript = ... # type: QChar.Script
        Script_Yezidi = ... # type: QChar.Script
        Script_CyproMinoan = ... # type: QChar.Script
        Script_OldUyghur = ... # type: QChar.Script
        Script_Tangsa = ... # type: QChar.Script
        Script_Toto = ... # type: QChar.Script
        Script_Vithkuqi = ... # type: QChar.Script
        Script_Kawi = ... # type: QChar.Script
        Script_NagMundari = ... # type: QChar.Script
        Script_Garay = ... # type: QChar.Script
        Script_GurungKhema = ... # type: QChar.Script
        Script_KiratRai = ... # type: QChar.Script
        Script_OlOnal = ... # type: QChar.Script
        Script_Sunuwar = ... # type: QChar.Script
        Script_Todhri = ... # type: QChar.Script
        Script_TuluTigalari = ... # type: QChar.Script

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QChar') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __ge__(self, rhs: str) -> bool: ...
    def __le__(self, rhs: str) -> bool: ...
    def __gt__(self, rhs: str) -> bool: ...
    def __lt__(self, rhs: str) -> bool: ...


class QCollatorSortKey(PyQt6.sip.simplewrapper):

    def __init__(self, other: 'QCollatorSortKey') -> None: ...

    def __ge__(self, rhs: 'QCollatorSortKey') -> bool: ...
    def __lt__(self, rhs: 'QCollatorSortKey') -> bool: ...
    def compare(self, key: 'QCollatorSortKey') -> int: ...
    def swap(self, other: 'QCollatorSortKey') -> None: ...


class QCollator(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, locale: 'QLocale') -> None: ...
    @typing.overload
    def __init__(self, a0: 'QCollator') -> None: ...

    @staticmethod
    def defaultSortKey(key: str) -> QCollatorSortKey: ...
    @staticmethod
    def defaultCompare(s1: str, s2: str) -> int: ...
    def sortKey(self, string: typing.Optional[str]) -> QCollatorSortKey: ...
    def compare(self, s1: typing.Optional[str], s2: typing.Optional[str]) -> int: ...
    def ignorePunctuation(self) -> bool: ...
    def setIgnorePunctuation(self, on: bool) -> None: ...
    def numericMode(self) -> bool: ...
    def setNumericMode(self, on: bool) -> None: ...
    def setCaseSensitivity(self, cs: Qt.CaseSensitivity) -> None: ...
    def caseSensitivity(self) -> Qt.CaseSensitivity: ...
    def locale(self) -> 'QLocale': ...
    def setLocale(self, locale: 'QLocale') -> None: ...
    def swap(self, other: 'QCollator') -> None: ...


class QCommandLineOption(PyQt6.sip.simplewrapper):

    class Flag(enum.Flag):
        HiddenFromHelp = ... # type: QCommandLineOption.Flag
        ShortOptionStyle = ... # type: QCommandLineOption.Flag
        IgnoreOptionsAfter = ... # type: QCommandLineOption.Flag

    @typing.overload
    def __init__(self, name: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, names: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    @typing.overload
    def __init__(self, name: typing.Optional[str], description: typing.Optional[str], valueName: typing.Optional[str] = ..., defaultValue: typing.Optional[str] = ...) -> None: ...
    @typing.overload
    def __init__(self, names: collections.abc.Iterable[typing.Optional[str]], description: typing.Optional[str], valueName: typing.Optional[str] = ..., defaultValue: typing.Optional[str] = ...) -> None: ...
    @typing.overload
    def __init__(self, other: 'QCommandLineOption') -> None: ...

    def setFlags(self, aflags: 'QCommandLineOption.Flag') -> None: ...
    def flags(self) -> 'QCommandLineOption.Flag': ...
    def defaultValues(self) -> list[str]: ...
    def setDefaultValues(self, defaultValues: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    def setDefaultValue(self, defaultValue: typing.Optional[str]) -> None: ...
    def description(self) -> str: ...
    def setDescription(self, description: typing.Optional[str]) -> None: ...
    def valueName(self) -> str: ...
    def setValueName(self, name: typing.Optional[str]) -> None: ...
    def names(self) -> list[str]: ...
    def swap(self, other: 'QCommandLineOption') -> None: ...


class QCommandLineParser(PyQt6.sip.simplewrapper):

    class MessageType(enum.Enum):
        Information = ... # type: QCommandLineParser.MessageType
        Error = ... # type: QCommandLineParser.MessageType

    class OptionsAfterPositionalArgumentsMode(enum.Enum):
        ParseAsOptions = ... # type: QCommandLineParser.OptionsAfterPositionalArgumentsMode
        ParseAsPositionalArguments = ... # type: QCommandLineParser.OptionsAfterPositionalArgumentsMode

    class SingleDashWordOptionMode(enum.Enum):
        ParseAsCompactedShortOptions = ... # type: QCommandLineParser.SingleDashWordOptionMode
        ParseAsLongOptions = ... # type: QCommandLineParser.SingleDashWordOptionMode

    def __init__(self) -> None: ...

    @staticmethod
    def showMessageAndExit(type: 'QCommandLineParser.MessageType', message: typing.Optional[str], exitCode: int = ...) -> None: ...
    def setOptionsAfterPositionalArgumentsMode(self, mode: 'QCommandLineParser.OptionsAfterPositionalArgumentsMode') -> None: ...
    def showVersion(self) -> None: ...
    def addOptions(self, options: collections.abc.Iterable[QCommandLineOption]) -> bool: ...
    def helpText(self) -> str: ...
    def showHelp(self, exitCode: int = ...) -> None: ...
    def unknownOptionNames(self) -> list[str]: ...
    def optionNames(self) -> list[str]: ...
    def positionalArguments(self) -> list[str]: ...
    @typing.overload
    def values(self, name: typing.Optional[str]) -> list[str]: ...
    @typing.overload
    def values(self, option: QCommandLineOption) -> list[str]: ...
    @typing.overload
    def value(self, name: typing.Optional[str]) -> str: ...
    @typing.overload
    def value(self, option: QCommandLineOption) -> str: ...
    @typing.overload
    def isSet(self, name: typing.Optional[str]) -> bool: ...
    @typing.overload
    def isSet(self, option: QCommandLineOption) -> bool: ...
    def errorText(self) -> str: ...
    def parse(self, arguments: collections.abc.Iterable[typing.Optional[str]]) -> bool: ...
    @typing.overload
    def process(self, arguments: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    @typing.overload
    def process(self, app: 'QCoreApplication') -> None: ...
    def clearPositionalArguments(self) -> None: ...
    def addPositionalArgument(self, name: typing.Optional[str], description: typing.Optional[str], syntax: typing.Optional[str] = ...) -> None: ...
    def applicationDescription(self) -> str: ...
    def setApplicationDescription(self, description: typing.Optional[str]) -> None: ...
    def addHelpOption(self) -> QCommandLineOption: ...
    def addVersionOption(self) -> QCommandLineOption: ...
    def addOption(self, commandLineOption: QCommandLineOption) -> bool: ...
    def setSingleDashWordOptionMode(self, parsingMode: 'QCommandLineParser.SingleDashWordOptionMode') -> None: ...


class QConcatenateTablesProxyModel(QAbstractItemModel):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def roleNames(self) -> dict[int, QByteArray]: ...
    def sourceModels(self) -> list[QAbstractItemModel]: ...
    def span(self, index: QModelIndex) -> 'QSize': ...
    def dropMimeData(self, data: typing.Optional['QMimeData'], action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def canDropMimeData(self, data: typing.Optional['QMimeData'], action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def mimeData(self, indexes: collections.abc.Iterable[QModelIndex]) -> typing.Optional['QMimeData']: ...
    def mimeTypes(self) -> list[str]: ...
    def columnCount(self, parent: QModelIndex = ...) -> int: ...
    def headerData(self, section: int, orientation: Qt.Orientation, role: int = ...) -> typing.Any: ...
    def rowCount(self, parent: QModelIndex = ...) -> int: ...
    def parent(self, index: QModelIndex) -> QModelIndex: ...
    def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: ...
    def flags(self, index: QModelIndex) -> Qt.ItemFlag: ...
    def setItemData(self, index: QModelIndex, roles: dict[int, typing.Any]) -> bool: ...
    def itemData(self, proxyIndex: QModelIndex) -> dict[int, typing.Any]: ...
    def setData(self, index: QModelIndex, value: typing.Any, role: int = ...) -> bool: ...
    def data(self, index: QModelIndex, role: int = ...) -> typing.Any: ...
    def mapToSource(self, proxyIndex: QModelIndex) -> QModelIndex: ...
    def mapFromSource(self, sourceIndex: QModelIndex) -> QModelIndex: ...
    def removeSourceModel(self, sourceModel: typing.Optional[QAbstractItemModel]) -> None: ...
    def addSourceModel(self, sourceModel: typing.Optional[QAbstractItemModel]) -> None: ...


class QCoreApplication(QObject):

    def __init__(self, argv: list[str]) -> None: ...

    def requestPermission(self, permission: typing.Union['QBluetoothPermission', 'QCalendarPermission', 'QCameraPermission', 'QContactsPermission', 'QLocationPermission', 'QMicrophonePermission'], handler: collections.abc.Callable[[typing.Union['QBluetoothPermission', 'QCalendarPermission', 'QCameraPermission', 'QContactsPermission', 'QLocationPermission', 'QMicrophonePermission']], None]) -> None: ...
    def checkPermission(self, permission: typing.Union['QBluetoothPermission', 'QCalendarPermission', 'QCameraPermission', 'QContactsPermission', 'QLocationPermission', 'QMicrophonePermission']) -> Qt.PermissionStatus: ...
    def __exit__(self, type: typing.Any, value: typing.Any, traceback: typing.Any) -> None: ...
    def __enter__(self) -> typing.Any: ...
    @staticmethod
    def isSetuidAllowed() -> bool: ...
    @staticmethod
    def setSetuidAllowed(allow: bool) -> None: ...
    def removeNativeEventFilter(self, filterObj: typing.Optional[QAbstractNativeEventFilter]) -> None: ...
    def installNativeEventFilter(self, filterObj: typing.Optional[QAbstractNativeEventFilter]) -> None: ...
    @staticmethod
    def setQuitLockEnabled(enabled: bool) -> None: ...
    @staticmethod
    def isQuitLockEnabled() -> bool: ...
    @staticmethod
    def setEventDispatcher(eventDispatcher: typing.Optional[QAbstractEventDispatcher]) -> None: ...
    @staticmethod
    def eventDispatcher() -> typing.Optional[QAbstractEventDispatcher]: ...
    @staticmethod
    def applicationPid() -> int: ...
    @staticmethod
    def applicationVersion() -> str: ...
    @staticmethod
    def setApplicationVersion(version: typing.Optional[str]) -> None: ...
    def event(self, a0: typing.Optional['QEvent']) -> bool: ...
    aboutToQuit: typing.ClassVar[pyqtSignal]
    @staticmethod
    def exit(returnCode: int = ...) -> None: ...
    @staticmethod
    def quit() -> None: ...
    @staticmethod
    def testAttribute(attribute: Qt.ApplicationAttribute) -> bool: ...
    @staticmethod
    def setAttribute(attribute: Qt.ApplicationAttribute, on: bool = ...) -> None: ...
    @staticmethod
    def translate(context: typing.Optional[str], sourceText: typing.Optional[str], disambiguation: typing.Optional[str] = ..., n: int = ...) -> str: ...
    @staticmethod
    def removeTranslator(messageFile: typing.Optional['QTranslator']) -> bool: ...
    @staticmethod
    def installTranslator(messageFile: typing.Optional['QTranslator']) -> bool: ...
    @staticmethod
    def removeLibraryPath(a0: typing.Optional[str]) -> None: ...
    @staticmethod
    def addLibraryPath(a0: typing.Optional[str]) -> None: ...
    @staticmethod
    def libraryPaths() -> list[str]: ...
    @staticmethod
    def setLibraryPaths(a0: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    @staticmethod
    def applicationFilePath() -> str: ...
    @staticmethod
    def applicationDirPath() -> str: ...
    @staticmethod
    def closingDown() -> bool: ...
    @staticmethod
    def startingUp() -> bool: ...
    def notify(self, a0: typing.Optional[QObject], a1: typing.Optional['QEvent']) -> bool: ...
    @staticmethod
    def removePostedEvents(receiver: typing.Optional[QObject], eventType: int = ...) -> None: ...
    @staticmethod
    def sendPostedEvents(receiver: typing.Optional[QObject] = ..., eventType: int = ...) -> None: ...
    @staticmethod
    def postEvent(receiver: typing.Optional[QObject], event: typing.Optional['QEvent'], priority: int = ...) -> None: ...
    @staticmethod
    def sendEvent(receiver: typing.Optional[QObject], event: typing.Optional['QEvent']) -> bool: ...
    @typing.overload
    @staticmethod
    def processEvents(flags: 'QEventLoop.ProcessEventsFlag' = ...) -> None: ...
    @typing.overload
    @staticmethod
    def processEvents(flags: 'QEventLoop.ProcessEventsFlag', maxtime: int) -> None: ...
    @typing.overload
    @staticmethod
    def processEvents(flags: 'QEventLoop.ProcessEventsFlag', deadline: 'QDeadlineTimer') -> None: ...
    @staticmethod
    def exec() -> int: ...
    @staticmethod
    def instance() -> typing.Optional['QCoreApplication']: ...
    @staticmethod
    def arguments() -> list[str]: ...
    @staticmethod
    def applicationName() -> str: ...
    @staticmethod
    def setApplicationName(application: typing.Optional[str]) -> None: ...
    @staticmethod
    def organizationName() -> str: ...
    @staticmethod
    def setOrganizationName(orgName: typing.Optional[str]) -> None: ...
    @staticmethod
    def organizationDomain() -> str: ...
    @staticmethod
    def setOrganizationDomain(orgDomain: typing.Optional[str]) -> None: ...


class QEvent(PyQt6.sip.wrapper):

    class Type(enum.IntEnum):
        None_ = ... # type: QEvent.Type
        Timer = ... # type: QEvent.Type
        MouseButtonPress = ... # type: QEvent.Type
        MouseButtonRelease = ... # type: QEvent.Type
        MouseButtonDblClick = ... # type: QEvent.Type
        MouseMove = ... # type: QEvent.Type
        KeyPress = ... # type: QEvent.Type
        KeyRelease = ... # type: QEvent.Type
        FocusIn = ... # type: QEvent.Type
        FocusOut = ... # type: QEvent.Type
        Enter = ... # type: QEvent.Type
        Leave = ... # type: QEvent.Type
        Paint = ... # type: QEvent.Type
        Move = ... # type: QEvent.Type
        Resize = ... # type: QEvent.Type
        Show = ... # type: QEvent.Type
        Hide = ... # type: QEvent.Type
        Close = ... # type: QEvent.Type
        Quit = ... # type: QEvent.Type
        ParentChange = ... # type: QEvent.Type
        ParentAboutToChange = ... # type: QEvent.Type
        ThreadChange = ... # type: QEvent.Type
        WindowActivate = ... # type: QEvent.Type
        WindowDeactivate = ... # type: QEvent.Type
        ShowToParent = ... # type: QEvent.Type
        HideToParent = ... # type: QEvent.Type
        Wheel = ... # type: QEvent.Type
        WindowTitleChange = ... # type: QEvent.Type
        WindowIconChange = ... # type: QEvent.Type
        ApplicationWindowIconChange = ... # type: QEvent.Type
        ApplicationFontChange = ... # type: QEvent.Type
        ApplicationLayoutDirectionChange = ... # type: QEvent.Type
        ApplicationPaletteChange = ... # type: QEvent.Type
        PaletteChange = ... # type: QEvent.Type
        Clipboard = ... # type: QEvent.Type
        MetaCall = ... # type: QEvent.Type
        SockAct = ... # type: QEvent.Type
        WinEventAct = ... # type: QEvent.Type
        DeferredDelete = ... # type: QEvent.Type
        DragEnter = ... # type: QEvent.Type
        DragMove = ... # type: QEvent.Type
        DragLeave = ... # type: QEvent.Type
        Drop = ... # type: QEvent.Type
        ChildAdded = ... # type: QEvent.Type
        ChildPolished = ... # type: QEvent.Type
        ChildRemoved = ... # type: QEvent.Type
        PolishRequest = ... # type: QEvent.Type
        Polish = ... # type: QEvent.Type
        LayoutRequest = ... # type: QEvent.Type
        UpdateRequest = ... # type: QEvent.Type
        UpdateLater = ... # type: QEvent.Type
        ContextMenu = ... # type: QEvent.Type
        InputMethod = ... # type: QEvent.Type
        TabletMove = ... # type: QEvent.Type
        LocaleChange = ... # type: QEvent.Type
        LanguageChange = ... # type: QEvent.Type
        LayoutDirectionChange = ... # type: QEvent.Type
        TabletPress = ... # type: QEvent.Type
        TabletRelease = ... # type: QEvent.Type
        OkRequest = ... # type: QEvent.Type
        IconDrag = ... # type: QEvent.Type
        FontChange = ... # type: QEvent.Type
        EnabledChange = ... # type: QEvent.Type
        ActivationChange = ... # type: QEvent.Type
        StyleChange = ... # type: QEvent.Type
        IconTextChange = ... # type: QEvent.Type
        ModifiedChange = ... # type: QEvent.Type
        MouseTrackingChange = ... # type: QEvent.Type
        WindowBlocked = ... # type: QEvent.Type
        WindowUnblocked = ... # type: QEvent.Type
        WindowStateChange = ... # type: QEvent.Type
        ToolTip = ... # type: QEvent.Type
        WhatsThis = ... # type: QEvent.Type
        StatusTip = ... # type: QEvent.Type
        ActionChanged = ... # type: QEvent.Type
        ActionAdded = ... # type: QEvent.Type
        ActionRemoved = ... # type: QEvent.Type
        FileOpen = ... # type: QEvent.Type
        Shortcut = ... # type: QEvent.Type
        ShortcutOverride = ... # type: QEvent.Type
        WhatsThisClicked = ... # type: QEvent.Type
        ToolBarChange = ... # type: QEvent.Type
        ApplicationActivate = ... # type: QEvent.Type
        ApplicationActivated = ... # type: QEvent.Type
        ApplicationDeactivate = ... # type: QEvent.Type
        ApplicationDeactivated = ... # type: QEvent.Type
        QueryWhatsThis = ... # type: QEvent.Type
        EnterWhatsThisMode = ... # type: QEvent.Type
        LeaveWhatsThisMode = ... # type: QEvent.Type
        ZOrderChange = ... # type: QEvent.Type
        HoverEnter = ... # type: QEvent.Type
        HoverLeave = ... # type: QEvent.Type
        HoverMove = ... # type: QEvent.Type
        GraphicsSceneMouseMove = ... # type: QEvent.Type
        GraphicsSceneMousePress = ... # type: QEvent.Type
        GraphicsSceneMouseRelease = ... # type: QEvent.Type
        GraphicsSceneMouseDoubleClick = ... # type: QEvent.Type
        GraphicsSceneContextMenu = ... # type: QEvent.Type
        GraphicsSceneHoverEnter = ... # type: QEvent.Type
        GraphicsSceneHoverMove = ... # type: QEvent.Type
        GraphicsSceneHoverLeave = ... # type: QEvent.Type
        GraphicsSceneHelp = ... # type: QEvent.Type
        GraphicsSceneDragEnter = ... # type: QEvent.Type
        GraphicsSceneDragMove = ... # type: QEvent.Type
        GraphicsSceneDragLeave = ... # type: QEvent.Type
        GraphicsSceneDrop = ... # type: QEvent.Type
        GraphicsSceneWheel = ... # type: QEvent.Type
        GraphicsSceneResize = ... # type: QEvent.Type
        GraphicsSceneMove = ... # type: QEvent.Type
        KeyboardLayoutChange = ... # type: QEvent.Type
        DynamicPropertyChange = ... # type: QEvent.Type
        TabletEnterProximity = ... # type: QEvent.Type
        TabletLeaveProximity = ... # type: QEvent.Type
        NonClientAreaMouseMove = ... # type: QEvent.Type
        NonClientAreaMouseButtonPress = ... # type: QEvent.Type
        NonClientAreaMouseButtonRelease = ... # type: QEvent.Type
        NonClientAreaMouseButtonDblClick = ... # type: QEvent.Type
        MacSizeChange = ... # type: QEvent.Type
        ContentsRectChange = ... # type: QEvent.Type
        CursorChange = ... # type: QEvent.Type
        ToolTipChange = ... # type: QEvent.Type
        GrabMouse = ... # type: QEvent.Type
        UngrabMouse = ... # type: QEvent.Type
        GrabKeyboard = ... # type: QEvent.Type
        UngrabKeyboard = ... # type: QEvent.Type
        StateMachineSignal = ... # type: QEvent.Type
        StateMachineWrapped = ... # type: QEvent.Type
        TouchBegin = ... # type: QEvent.Type
        TouchUpdate = ... # type: QEvent.Type
        TouchEnd = ... # type: QEvent.Type
        NativeGesture = ... # type: QEvent.Type
        RequestSoftwareInputPanel = ... # type: QEvent.Type
        CloseSoftwareInputPanel = ... # type: QEvent.Type
        WinIdChange = ... # type: QEvent.Type
        Gesture = ... # type: QEvent.Type
        GestureOverride = ... # type: QEvent.Type
        FocusAboutToChange = ... # type: QEvent.Type
        ScrollPrepare = ... # type: QEvent.Type
        Scroll = ... # type: QEvent.Type
        Expose = ... # type: QEvent.Type
        InputMethodQuery = ... # type: QEvent.Type
        OrientationChange = ... # type: QEvent.Type
        TouchCancel = ... # type: QEvent.Type
        PlatformPanel = ... # type: QEvent.Type
        ApplicationStateChange = ... # type: QEvent.Type
        ReadOnlyChange = ... # type: QEvent.Type
        PlatformSurface = ... # type: QEvent.Type
        TabletTrackingChange = ... # type: QEvent.Type
        GraphicsSceneLeave = ... # type: QEvent.Type
        EnterEditFocus = ... # type: QEvent.Type
        LeaveEditFocus = ... # type: QEvent.Type
        DevicePixelRatioChange = ... # type: QEvent.Type
        ChildWindowAdded = ... # type: QEvent.Type
        ChildWindowRemoved = ... # type: QEvent.Type
        ParentWindowAboutToChange = ... # type: QEvent.Type
        ParentWindowChange = ... # type: QEvent.Type
        SafeAreaMarginsChange = ... # type: QEvent.Type
        User = ... # type: QEvent.Type
        MaxUser = ... # type: QEvent.Type

    @typing.overload
    def __init__(self, type: 'QEvent.Type') -> None: ...
    @typing.overload
    @deprecated("""""")
    def __init__(self, type: int) -> None: ...

    def clone(self) -> typing.Optional['QEvent']: ...
    def isSinglePointEvent(self) -> bool: ...
    def isPointerEvent(self) -> bool: ...
    def isInputEvent(self) -> bool: ...
    @staticmethod
    def registerEventType(hint: int = ...) -> int: ...
    def ignore(self) -> None: ...
    def accept(self) -> None: ...
    def isAccepted(self) -> bool: ...
    def setAccepted(self, accepted: bool) -> None: ...
    def spontaneous(self) -> bool: ...
    def type(self) -> 'QEvent.Type': ...


class QTimerEvent(QEvent):

    def __init__(self, timerId: int) -> None: ...

    def matches(self, timer: QBasicTimer) -> bool: ...
    def id(self) -> int: ...
    def clone(self) -> typing.Optional['QTimerEvent']: ...
    def timerId(self) -> int: ...


class QChildEvent(QEvent):

    @typing.overload
    def __init__(self, type: QEvent.Type, child: typing.Optional[QObject]) -> None: ...
    @typing.overload
    def __init__(self, type: int, child: typing.Optional[QObject]) -> None: ...

    def clone(self) -> typing.Optional['QChildEvent']: ...
    def removed(self) -> bool: ...
    def polished(self) -> bool: ...
    def added(self) -> bool: ...
    def child(self) -> typing.Optional[QObject]: ...


class QDynamicPropertyChangeEvent(QEvent):

    def __init__(self, name: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...

    def clone(self) -> typing.Optional['QDynamicPropertyChangeEvent']: ...
    def propertyName(self) -> QByteArray: ...


class QCryptographicHash(PyQt6.sip.simplewrapper):

    class Algorithm(enum.Enum):
        Md4 = ... # type: QCryptographicHash.Algorithm
        Md5 = ... # type: QCryptographicHash.Algorithm
        Sha1 = ... # type: QCryptographicHash.Algorithm
        Sha224 = ... # type: QCryptographicHash.Algorithm
        Sha256 = ... # type: QCryptographicHash.Algorithm
        Sha384 = ... # type: QCryptographicHash.Algorithm
        Sha512 = ... # type: QCryptographicHash.Algorithm
        Sha3_224 = ... # type: QCryptographicHash.Algorithm
        Sha3_256 = ... # type: QCryptographicHash.Algorithm
        Sha3_384 = ... # type: QCryptographicHash.Algorithm
        Sha3_512 = ... # type: QCryptographicHash.Algorithm
        Keccak_224 = ... # type: QCryptographicHash.Algorithm
        Keccak_256 = ... # type: QCryptographicHash.Algorithm
        Keccak_384 = ... # type: QCryptographicHash.Algorithm
        Keccak_512 = ... # type: QCryptographicHash.Algorithm
        Blake2b_160 = ... # type: QCryptographicHash.Algorithm
        Blake2b_256 = ... # type: QCryptographicHash.Algorithm
        Blake2b_384 = ... # type: QCryptographicHash.Algorithm
        Blake2b_512 = ... # type: QCryptographicHash.Algorithm
        Blake2s_128 = ... # type: QCryptographicHash.Algorithm
        Blake2s_160 = ... # type: QCryptographicHash.Algorithm
        Blake2s_224 = ... # type: QCryptographicHash.Algorithm
        Blake2s_256 = ... # type: QCryptographicHash.Algorithm

    def __init__(self, method: 'QCryptographicHash.Algorithm') -> None: ...

    @staticmethod
    def supportsAlgorithm(method: 'QCryptographicHash.Algorithm') -> bool: ...
    def algorithm(self) -> 'QCryptographicHash.Algorithm': ...
    def swap(self, other: 'QCryptographicHash') -> None: ...
    @staticmethod
    def hashLength(method: 'QCryptographicHash.Algorithm') -> int: ...
    @staticmethod
    def hash(data: typing.Union[QByteArray, bytes, bytearray, memoryview], method: 'QCryptographicHash.Algorithm') -> QByteArray: ...
    def resultView(self) -> QByteArray: ...
    def result(self) -> QByteArray: ...
    @typing.overload
    def addData(self, data: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...
    @typing.overload
    def addData(self, data: typing.Optional[PyQt6.sip.array[bytes]]) -> None: ...
    @typing.overload
    def addData(self, device: typing.Optional[QIODevice]) -> bool: ...
    def reset(self) -> None: ...


class QDataStream(QIODeviceBase):

    class FloatingPointPrecision(enum.Enum):
        SinglePrecision = ... # type: QDataStream.FloatingPointPrecision
        DoublePrecision = ... # type: QDataStream.FloatingPointPrecision

    class Status(enum.Enum):
        Ok = ... # type: QDataStream.Status
        ReadPastEnd = ... # type: QDataStream.Status
        ReadCorruptData = ... # type: QDataStream.Status
        WriteFailed = ... # type: QDataStream.Status
        SizeLimitExceeded = ... # type: QDataStream.Status

    class ByteOrder(enum.Enum):
        BigEndian = ... # type: QDataStream.ByteOrder
        LittleEndian = ... # type: QDataStream.ByteOrder

    class Version(enum.IntEnum):
        Qt_1_0 = ... # type: QDataStream.Version
        Qt_2_0 = ... # type: QDataStream.Version
        Qt_2_1 = ... # type: QDataStream.Version
        Qt_3_0 = ... # type: QDataStream.Version
        Qt_3_1 = ... # type: QDataStream.Version
        Qt_3_3 = ... # type: QDataStream.Version
        Qt_4_0 = ... # type: QDataStream.Version
        Qt_4_1 = ... # type: QDataStream.Version
        Qt_4_2 = ... # type: QDataStream.Version
        Qt_4_3 = ... # type: QDataStream.Version
        Qt_4_4 = ... # type: QDataStream.Version
        Qt_4_5 = ... # type: QDataStream.Version
        Qt_4_6 = ... # type: QDataStream.Version
        Qt_4_7 = ... # type: QDataStream.Version
        Qt_4_8 = ... # type: QDataStream.Version
        Qt_4_9 = ... # type: QDataStream.Version
        Qt_5_0 = ... # type: QDataStream.Version
        Qt_5_1 = ... # type: QDataStream.Version
        Qt_5_2 = ... # type: QDataStream.Version
        Qt_5_3 = ... # type: QDataStream.Version
        Qt_5_4 = ... # type: QDataStream.Version
        Qt_5_5 = ... # type: QDataStream.Version
        Qt_5_6 = ... # type: QDataStream.Version
        Qt_5_7 = ... # type: QDataStream.Version
        Qt_5_8 = ... # type: QDataStream.Version
        Qt_5_9 = ... # type: QDataStream.Version
        Qt_5_10 = ... # type: QDataStream.Version
        Qt_5_11 = ... # type: QDataStream.Version
        Qt_5_12 = ... # type: QDataStream.Version
        Qt_5_13 = ... # type: QDataStream.Version
        Qt_5_14 = ... # type: QDataStream.Version
        Qt_5_15 = ... # type: QDataStream.Version
        Qt_6_0 = ... # type: QDataStream.Version
        Qt_6_1 = ... # type: QDataStream.Version
        Qt_6_2 = ... # type: QDataStream.Version
        Qt_6_3 = ... # type: QDataStream.Version
        Qt_6_4 = ... # type: QDataStream.Version
        Qt_6_5 = ... # type: QDataStream.Version
        Qt_6_6 = ... # type: QDataStream.Version
        Qt_6_7 = ... # type: QDataStream.Version
        Qt_6_8 = ... # type: QDataStream.Version
        Qt_6_9 = ... # type: QDataStream.Version

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: typing.Optional[QIODevice]) -> None: ...
    @typing.overload
    def __init__(self, a0: typing.Optional[QByteArray], flags: QIODeviceBase.OpenModeFlag) -> None: ...
    @typing.overload
    def __init__(self, a0: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...

    @typing.overload
    def __lshift__(self, a0: QBitArray) -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: QByteArray) -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: str) -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, combination: QKeyCombination) -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: typing.Union['QDate', datetime.date]) -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: typing.Union['QTime', datetime.time]) -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: typing.Union['QDateTime', datetime.datetime]) -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QEasingCurve') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QJsonDocument') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: typing.Optional['QJsonValue']) -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QLine') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QLineF') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QLocale') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QMargins') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QMarginsF') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QPoint') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QPointF') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QRect') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QRectF') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, re: 'QRegularExpression') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QSize') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QSizeF') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, tz: 'QTimeZone') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, revision: 'QTypeRevision') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QUrl') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, a0: 'QUuid') -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, p: typing.Optional['QVariant']) -> 'QDataStream': ...
    @typing.overload
    def __lshift__(self, version: 'QVersionNumber') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: QBitArray) -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: QByteArray) -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: QChar) -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, combination: QKeyCombination) -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QDate') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QTime') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QDateTime') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QEasingCurve') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QJsonDocument') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: typing.Optional['QJsonValue']) -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QLine') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QLineF') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QLocale') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QMargins') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QMarginsF') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QPoint') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QPointF') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QRect') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QRectF') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, re: 'QRegularExpression') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QSize') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QSizeF') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, tz: 'QTimeZone') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, revision: 'QTypeRevision') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QUrl') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, a0: 'QUuid') -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, p: typing.Optional['QVariant']) -> 'QDataStream': ...
    @typing.overload
    def __rshift__(self, version: 'QVersionNumber') -> 'QDataStream': ...
    def writeQVariantHash(self, qvarhash: dict[typing.Optional[str], typing.Any]) -> None: ...
    def readQVariantHash(self) -> dict[str, typing.Any]: ...
    def writeQVariantMap(self, qvarmap: dict[typing.Optional[str], typing.Any]) -> None: ...
    def readQVariantMap(self) -> dict[str, typing.Any]: ...
    def writeQVariantList(self, qvarlst: collections.abc.Iterable[typing.Any]) -> None: ...
    def readQVariantList(self) -> list[typing.Any]: ...
    def writeQVariant(self, qvar: typing.Any) -> None: ...
    def readQVariant(self) -> typing.Any: ...
    def writeQStringList(self, qstrlst: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    def readQStringList(self) -> list[str]: ...
    def writeQString(self, qstr: typing.Optional[str]) -> None: ...
    def readQString(self) -> str: ...
    def writeString(self, str: typing.Optional[bytes]) -> None: ...
    def writeDouble(self, f: float) -> None: ...
    def writeFloat(self, f: float) -> None: ...
    def writeBool(self, i: bool) -> None: ...
    def writeUInt64(self, i: int) -> None: ...
    def writeInt64(self, i: int) -> None: ...
    def writeUInt32(self, i: int) -> None: ...
    def writeInt32(self, i: int) -> None: ...
    def writeUInt16(self, i: int) -> None: ...
    def writeInt16(self, i: int) -> None: ...
    def writeUInt8(self, i: int) -> None: ...
    def writeInt8(self, i: int) -> None: ...
    def writeInt(self, i: int) -> None: ...
    def readString(self) -> bytes: ...
    def readDouble(self) -> float: ...
    def readFloat(self) -> float: ...
    def readBool(self) -> bool: ...
    def readUInt64(self) -> int: ...
    def readInt64(self) -> int: ...
    def readUInt32(self) -> int: ...
    def readInt32(self) -> int: ...
    def readUInt16(self) -> int: ...
    def readInt16(self) -> int: ...
    def readUInt8(self) -> int: ...
    def readInt8(self) -> int: ...
    def readInt(self) -> int: ...
    def abortTransaction(self) -> None: ...
    def rollbackTransaction(self) -> None: ...
    def commitTransaction(self) -> bool: ...
    def startTransaction(self) -> None: ...
    def skipRawData(self, len: int) -> int: ...
    def writeRawData(self, a0: PyQt6.sip.Buffer) -> int: ...
    def writeBytes(self, a0: PyQt6.sip.Buffer) -> 'QDataStream': ...
    def readRawData(self, len: int) -> bytes: ...
    def readBytes(self) -> bytes: ...
    def setVersion(self, a0: int) -> None: ...
    def version(self) -> int: ...
    def setByteOrder(self, a0: 'QDataStream.ByteOrder') -> None: ...
    def byteOrder(self) -> 'QDataStream.ByteOrder': ...
    def setFloatingPointPrecision(self, precision: 'QDataStream.FloatingPointPrecision') -> None: ...
    def floatingPointPrecision(self) -> 'QDataStream.FloatingPointPrecision': ...
    def resetStatus(self) -> None: ...
    def setStatus(self, status: 'QDataStream.Status') -> None: ...
    def status(self) -> 'QDataStream.Status': ...
    def atEnd(self) -> bool: ...
    def setDevice(self, a0: typing.Optional[QIODevice]) -> None: ...
    def device(self) -> typing.Optional[QIODevice]: ...


class QDate(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, y: int, m: int, d: int) -> None: ...
    @typing.overload
    def __init__(self, y: int, m: int, d: int, cal: QCalendar) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QDate') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __ge__(self, rhs: typing.Union['QDate', datetime.date]) -> bool: ...
    def __le__(self, rhs: typing.Union['QDate', datetime.date]) -> bool: ...
    def __gt__(self, rhs: typing.Union['QDate', datetime.date]) -> bool: ...
    def __lt__(self, rhs: typing.Union['QDate', datetime.date]) -> bool: ...
    def daysTo(self, d: typing.Union['QDate', datetime.date]) -> int: ...
    @typing.overload
    def endOfDay(self, spec: Qt.TimeSpec = ..., offsetSeconds: int = ...) -> 'QDateTime': ...
    @typing.overload
    def endOfDay(self, zone: 'QTimeZone') -> 'QDateTime': ...
    @typing.overload
    def startOfDay(self, spec: Qt.TimeSpec = ..., offsetSeconds: int = ...) -> 'QDateTime': ...
    @typing.overload
    def startOfDay(self, zone: 'QTimeZone') -> 'QDateTime': ...
    def getDate(self) -> typing.Tuple[typing.Optional[int], typing.Optional[int], typing.Optional[int]]: ...
    @typing.overload
    def setDate(self, year: int, month: int, date: int) -> bool: ...
    @typing.overload
    def setDate(self, year: int, month: int, day: int, cal: QCalendar) -> bool: ...
    def toJulianDay(self) -> int: ...
    @staticmethod
    def fromJulianDay(jd: int) -> 'QDate': ...
    @staticmethod
    def isLeapYear(year: int) -> bool: ...
    @typing.overload
    @staticmethod
    def fromString(string: typing.Optional[str], format: Qt.DateFormat = ...) -> 'QDate': ...
    @typing.overload
    @staticmethod
    def fromString(string: typing.Optional[str], format: typing.Optional[str], cal: QCalendar = ...) -> 'QDate': ...
    @typing.overload
    @staticmethod
    def fromString(string: typing.Optional[str], format: typing.Optional[str], baseYear: int, cal: QCalendar = ...) -> 'QDate': ...
    @staticmethod
    def currentDate() -> 'QDate': ...
    @typing.overload
    def addYears(self, years: int) -> 'QDate': ...
    @typing.overload
    def addYears(self, years: int, cal: QCalendar) -> 'QDate': ...
    @typing.overload
    def addMonths(self, months: int) -> 'QDate': ...
    @typing.overload
    def addMonths(self, months: int, cal: QCalendar) -> 'QDate': ...
    def addDays(self, days: int) -> 'QDate': ...
    @typing.overload
    def toString(self, format: typing.Optional[str], cal: QCalendar = ...) -> str: ...
    @typing.overload
    def toString(self, format: Qt.DateFormat = ...) -> str: ...
    def weekNumber(self) -> typing.Tuple[int, typing.Optional[int]]: ...
    @typing.overload
    def daysInYear(self) -> int: ...
    @typing.overload
    def daysInYear(self, cal: QCalendar) -> int: ...
    @typing.overload
    def daysInMonth(self) -> int: ...
    @typing.overload
    def daysInMonth(self, cal: QCalendar) -> int: ...
    @typing.overload
    def dayOfYear(self) -> int: ...
    @typing.overload
    def dayOfYear(self, cal: QCalendar) -> int: ...
    @typing.overload
    def dayOfWeek(self) -> int: ...
    @typing.overload
    def dayOfWeek(self, cal: QCalendar) -> int: ...
    @typing.overload
    def day(self) -> int: ...
    @typing.overload
    def day(self, cal: QCalendar) -> int: ...
    @typing.overload
    def month(self) -> int: ...
    @typing.overload
    def month(self, cal: QCalendar) -> int: ...
    @typing.overload
    def year(self) -> int: ...
    @typing.overload
    def year(self, cal: QCalendar) -> int: ...
    @typing.overload
    def isValid(self) -> bool: ...
    @typing.overload
    @staticmethod
    def isValid(y: int, m: int, d: int) -> bool: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def toPyDate(self) -> datetime.date: ...
    def __hash__(self) -> int: ...
    def __repr__(self) -> str: ...


class QTime(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, h: int, m: int, second: int = ..., msec: int = ...) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QTime') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __ge__(self, rhs: typing.Union['QTime', datetime.time]) -> bool: ...
    def __le__(self, rhs: typing.Union['QTime', datetime.time]) -> bool: ...
    def __gt__(self, rhs: typing.Union['QTime', datetime.time]) -> bool: ...
    def __lt__(self, rhs: typing.Union['QTime', datetime.time]) -> bool: ...
    def msecsTo(self, t: typing.Union['QTime', datetime.time]) -> int: ...
    def secsTo(self, t: typing.Union['QTime', datetime.time]) -> int: ...
    def msecsSinceStartOfDay(self) -> int: ...
    @staticmethod
    def fromMSecsSinceStartOfDay(msecs: int) -> 'QTime': ...
    @typing.overload
    @staticmethod
    def fromString(string: typing.Optional[str], format: Qt.DateFormat = ...) -> 'QTime': ...
    @typing.overload
    @staticmethod
    def fromString(s: typing.Optional[str], format: typing.Optional[str]) -> 'QTime': ...
    @staticmethod
    def currentTime() -> 'QTime': ...
    def addMSecs(self, ms: int) -> 'QTime': ...
    def addSecs(self, secs: int) -> 'QTime': ...
    def setHMS(self, h: int, m: int, s: int, msec: int = ...) -> bool: ...
    @typing.overload
    def toString(self, format: Qt.DateFormat = ...) -> str: ...
    @typing.overload
    def toString(self, format: typing.Optional[str]) -> str: ...
    def msec(self) -> int: ...
    def second(self) -> int: ...
    def minute(self) -> int: ...
    def hour(self) -> int: ...
    @typing.overload
    def isValid(self) -> bool: ...
    @typing.overload
    @staticmethod
    def isValid(h: int, m: int, s: int, msec: int = ...) -> bool: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def toPyTime(self) -> datetime.time: ...
    def __hash__(self) -> int: ...
    def __repr__(self) -> str: ...


class QDateTime(PyQt6.sip.simplewrapper):

    class YearRange(enum.Enum):
        First = ... # type: QDateTime.YearRange
        Last = ... # type: QDateTime.YearRange

    class TransitionResolution(enum.Enum):
        Reject = ... # type: QDateTime.TransitionResolution
        RelativeToBefore = ... # type: QDateTime.TransitionResolution
        RelativeToAfter = ... # type: QDateTime.TransitionResolution
        PreferBefore = ... # type: QDateTime.TransitionResolution
        PreferAfter = ... # type: QDateTime.TransitionResolution
        PreferStandard = ... # type: QDateTime.TransitionResolution
        PreferDaylightSaving = ... # type: QDateTime.TransitionResolution
        LegacyBehavior = ... # type: QDateTime.TransitionResolution

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: typing.Union['QDateTime', datetime.datetime]) -> None: ...
    @typing.overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int = ..., msec: int = ..., timeSpec: int = ...) -> None: ...
    @typing.overload
    def __init__(self, date: typing.Union[QDate, datetime.date], time: typing.Union[QTime, datetime.time], resolve: 'QDateTime.TransitionResolution') -> None: ...
    @typing.overload
    def __init__(self, date: typing.Union[QDate, datetime.date], time: typing.Union[QTime, datetime.time], spec: Qt.TimeSpec = ..., offsetSeconds: int = ...) -> None: ...
    @typing.overload
    def __init__(self, date: typing.Union[QDate, datetime.date], time: typing.Union[QTime, datetime.time], timeZone: 'QTimeZone', resolve: 'QDateTime.TransitionResolution' = ...) -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __ge__(self, rhs: typing.Union['QDateTime', datetime.datetime]) -> bool: ...
    def __le__(self, rhs: typing.Union['QDateTime', datetime.datetime]) -> bool: ...
    def __gt__(self, rhs: typing.Union['QDateTime', datetime.datetime]) -> bool: ...
    def __lt__(self, rhs: typing.Union['QDateTime', datetime.datetime]) -> bool: ...
    def timeRepresentation(self) -> 'QTimeZone': ...
    def setTime(self, time: typing.Union[QTime, datetime.time], resolve: 'QDateTime.TransitionResolution' = ...) -> None: ...
    def setDate(self, date: typing.Union[QDate, datetime.date], resolve: 'QDateTime.TransitionResolution' = ...) -> None: ...
    @staticmethod
    def currentSecsSinceEpoch() -> int: ...
    @typing.overload
    @staticmethod
    def fromSecsSinceEpoch(secs: int, spec: Qt.TimeSpec = ..., offsetSeconds: int = ...) -> 'QDateTime': ...
    @typing.overload
    @staticmethod
    def fromSecsSinceEpoch(secs: int, timeZone: 'QTimeZone') -> 'QDateTime': ...
    def setSecsSinceEpoch(self, secs: int) -> None: ...
    def toSecsSinceEpoch(self) -> int: ...
    @typing.overload
    @staticmethod
    def fromMSecsSinceEpoch(msecs: int, spec: Qt.TimeSpec = ..., offsetSeconds: int = ...) -> 'QDateTime': ...
    @typing.overload
    @staticmethod
    def fromMSecsSinceEpoch(msecs: int, timeZone: 'QTimeZone') -> 'QDateTime': ...
    def toTimeZone(self, toZone: 'QTimeZone') -> 'QDateTime': ...
    def toOffsetFromUtc(self, offsetSeconds: int) -> 'QDateTime': ...
    def setTimeZone(self, toZone: 'QTimeZone', resolve: 'QDateTime.TransitionResolution' = ...) -> None: ...
    def setOffsetFromUtc(self, offsetSeconds: int) -> None: ...
    def isDaylightTime(self) -> bool: ...
    def timeZoneAbbreviation(self) -> str: ...
    def timeZone(self) -> 'QTimeZone': ...
    def offsetFromUtc(self) -> int: ...
    def swap(self, other: 'QDateTime') -> None: ...
    @staticmethod
    def currentMSecsSinceEpoch() -> int: ...
    @staticmethod
    def currentDateTimeUtc() -> 'QDateTime': ...
    def msecsTo(self, a0: typing.Union['QDateTime', datetime.datetime]) -> int: ...
    def setMSecsSinceEpoch(self, msecs: int) -> None: ...
    def toMSecsSinceEpoch(self) -> int: ...
    @typing.overload
    @staticmethod
    def fromString(string: typing.Optional[str], format: Qt.DateFormat = ...) -> 'QDateTime': ...
    @typing.overload
    @staticmethod
    def fromString(string: typing.Optional[str], format: typing.Optional[str], cal: QCalendar = ...) -> 'QDateTime': ...
    @typing.overload
    @staticmethod
    def fromString(string: typing.Optional[str], format: typing.Optional[str], baseYear: int, cal: QCalendar = ...) -> 'QDateTime': ...
    @typing.overload
    @staticmethod
    def currentDateTime() -> 'QDateTime': ...
    @typing.overload
    @staticmethod
    def currentDateTime(zone: 'QTimeZone') -> 'QDateTime': ...
    def secsTo(self, a0: typing.Union['QDateTime', datetime.datetime]) -> int: ...
    def daysTo(self, a0: typing.Union['QDateTime', datetime.datetime]) -> int: ...
    def toUTC(self) -> 'QDateTime': ...
    def toLocalTime(self) -> 'QDateTime': ...
    def toTimeSpec(self, spec: Qt.TimeSpec) -> 'QDateTime': ...
    def addMSecs(self, msecs: int) -> 'QDateTime': ...
    def addSecs(self, secs: int) -> 'QDateTime': ...
    def addYears(self, years: int) -> 'QDateTime': ...
    def addMonths(self, months: int) -> 'QDateTime': ...
    def addDays(self, days: int) -> 'QDateTime': ...
    @typing.overload
    def toString(self, format: typing.Optional[str], cal: QCalendar = ...) -> str: ...
    @typing.overload
    def toString(self, format: Qt.DateFormat = ...) -> str: ...
    def setTimeSpec(self, spec: Qt.TimeSpec) -> None: ...
    def timeSpec(self) -> Qt.TimeSpec: ...
    def time(self) -> QTime: ...
    def date(self) -> QDate: ...
    def isValid(self) -> bool: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def toPyDateTime(self) -> datetime.datetime: ...
    def __hash__(self) -> int: ...
    def __repr__(self) -> str: ...


class QDeadlineTimer(PyQt6.sip.simplewrapper):

    class ForeverConstant(enum.Enum):
        Forever = ... # type: QDeadlineTimer.ForeverConstant

    @typing.overload
    def __init__(self, type: Qt.TimerType = ...) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QDeadlineTimer.ForeverConstant', type: Qt.TimerType = ...) -> None: ...
    @typing.overload
    def __init__(self, msecs: int, type: Qt.TimerType = ...) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QDeadlineTimer') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __ge__(self, rhs: 'QDeadlineTimer') -> bool: ...
    def __le__(self, rhs: 'QDeadlineTimer') -> bool: ...
    def __gt__(self, rhs: 'QDeadlineTimer') -> bool: ...
    def __lt__(self, rhs: 'QDeadlineTimer') -> bool: ...
    def __add__(self, msecs: int) -> 'QDeadlineTimer': ...
    def __radd__(self, msecs: int) -> 'QDeadlineTimer': ...
    @typing.overload
    def __sub__(self, msecs: int) -> 'QDeadlineTimer': ...
    @typing.overload
    def __sub__(self, dt2: 'QDeadlineTimer') -> int: ...
    def __isub__(self, msecs: int) -> 'QDeadlineTimer': ...
    def __iadd__(self, msecs: int) -> 'QDeadlineTimer': ...
    @staticmethod
    def current(type: Qt.TimerType = ...) -> 'QDeadlineTimer': ...
    @staticmethod
    def addNSecs(dt: 'QDeadlineTimer', nsecs: int) -> 'QDeadlineTimer': ...
    def setPreciseDeadline(self, secs: int, nsecs: int = ..., type: Qt.TimerType = ...) -> None: ...
    def setDeadline(self, msecs: int, type: Qt.TimerType = ...) -> None: ...
    def deadlineNSecs(self) -> int: ...
    def deadline(self) -> int: ...
    def setPreciseRemainingTime(self, secs: int, nsecs: int = ..., type: Qt.TimerType = ...) -> None: ...
    def setRemainingTime(self, msecs: int, type: Qt.TimerType = ...) -> None: ...
    def remainingTimeNSecs(self) -> int: ...
    def remainingTime(self) -> int: ...
    def setTimerType(self, type: Qt.TimerType) -> None: ...
    def timerType(self) -> Qt.TimerType: ...
    def hasExpired(self) -> bool: ...
    def isForever(self) -> bool: ...
    def swap(self, other: 'QDeadlineTimer') -> None: ...


class QDir(PyQt6.sip.simplewrapper):

    class SortFlag(enum.Flag):
        Name = ... # type: QDir.SortFlag
        Time = ... # type: QDir.SortFlag
        Size = ... # type: QDir.SortFlag
        Unsorted = ... # type: QDir.SortFlag
        SortByMask = ... # type: QDir.SortFlag
        DirsFirst = ... # type: QDir.SortFlag
        Reversed = ... # type: QDir.SortFlag
        IgnoreCase = ... # type: QDir.SortFlag
        DirsLast = ... # type: QDir.SortFlag
        LocaleAware = ... # type: QDir.SortFlag
        Type = ... # type: QDir.SortFlag
        NoSort = ... # type: QDir.SortFlag

    class Filter(enum.Flag):
        Dirs = ... # type: QDir.Filter
        Files = ... # type: QDir.Filter
        Drives = ... # type: QDir.Filter
        NoSymLinks = ... # type: QDir.Filter
        AllEntries = ... # type: QDir.Filter
        TypeMask = ... # type: QDir.Filter
        Readable = ... # type: QDir.Filter
        Writable = ... # type: QDir.Filter
        Executable = ... # type: QDir.Filter
        PermissionMask = ... # type: QDir.Filter
        Modified = ... # type: QDir.Filter
        Hidden = ... # type: QDir.Filter
        System = ... # type: QDir.Filter
        AccessMask = ... # type: QDir.Filter
        AllDirs = ... # type: QDir.Filter
        CaseSensitive = ... # type: QDir.Filter
        NoDotAndDotDot = ... # type: QDir.Filter
        NoFilter = ... # type: QDir.Filter
        NoDot = ... # type: QDir.Filter
        NoDotDot = ... # type: QDir.Filter

    @typing.overload
    def __init__(self, path: typing.Optional[str], nameFilter: typing.Optional[str], sort: 'QDir.SortFlag' = ..., filters: 'QDir.Filter' = ...) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QDir') -> None: ...
    @typing.overload
    def __init__(self, path: typing.Optional[str] = ...) -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def isEmpty(self, filters: 'QDir.Filter' = ...) -> bool: ...
    @staticmethod
    def listSeparator() -> str: ...
    def swap(self, other: 'QDir') -> None: ...
    def removeRecursively(self) -> bool: ...
    @staticmethod
    def searchPaths(prefix: typing.Optional[str]) -> list[str]: ...
    @staticmethod
    def addSearchPath(prefix: typing.Optional[str], path: typing.Optional[str]) -> None: ...
    @staticmethod
    def setSearchPaths(prefix: typing.Optional[str], searchPaths: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    @staticmethod
    def fromNativeSeparators(pathName: typing.Optional[str]) -> str: ...
    @staticmethod
    def toNativeSeparators(pathName: typing.Optional[str]) -> str: ...
    @staticmethod
    def cleanPath(path: typing.Optional[str]) -> str: ...
    @typing.overload
    @staticmethod
    def match(filters: collections.abc.Iterable[typing.Optional[str]], fileName: typing.Optional[str]) -> bool: ...
    @typing.overload
    @staticmethod
    def match(filter: typing.Optional[str], fileName: typing.Optional[str]) -> bool: ...
    @staticmethod
    def tempPath() -> str: ...
    @staticmethod
    def temp() -> 'QDir': ...
    @staticmethod
    def rootPath() -> str: ...
    @staticmethod
    def root() -> 'QDir': ...
    @staticmethod
    def homePath() -> str: ...
    @staticmethod
    def home() -> 'QDir': ...
    @staticmethod
    def currentPath() -> str: ...
    @staticmethod
    def current() -> 'QDir': ...
    @staticmethod
    def setCurrent(path: typing.Optional[str]) -> bool: ...
    @staticmethod
    def separator() -> str: ...
    @staticmethod
    def drives() -> list['QFileInfo']: ...
    def refresh(self) -> None: ...
    def rename(self, oldName: typing.Optional[str], newName: typing.Optional[str]) -> bool: ...
    def remove(self, fileName: typing.Optional[str]) -> bool: ...
    def makeAbsolute(self) -> bool: ...
    def isAbsolute(self) -> bool: ...
    def isRelative(self) -> bool: ...
    @staticmethod
    def isAbsolutePath(path: typing.Optional[str]) -> bool: ...
    @staticmethod
    def isRelativePath(path: typing.Optional[str]) -> bool: ...
    def isRoot(self) -> bool: ...
    @typing.overload
    def exists(self) -> bool: ...
    @typing.overload
    def exists(self, name: typing.Optional[str]) -> bool: ...
    def isReadable(self) -> bool: ...
    def rmpath(self, dirPath: typing.Optional[str]) -> bool: ...
    def mkpath(self, dirPath: typing.Optional[str]) -> bool: ...
    def rmdir(self, dirName: typing.Optional[str]) -> bool: ...
    @typing.overload
    def mkdir(self, dirName: typing.Optional[str], permissions: 'QFileDevice.Permission') -> bool: ...
    @typing.overload
    def mkdir(self, dirName: typing.Optional[str]) -> bool: ...
    @typing.overload
    def entryInfoList(self, filters: 'QDir.Filter' = ..., sort: 'QDir.SortFlag' = ...) -> list['QFileInfo']: ...
    @typing.overload
    def entryInfoList(self, nameFilters: collections.abc.Iterable[typing.Optional[str]], filters: 'QDir.Filter' = ..., sort: 'QDir.SortFlag' = ...) -> list['QFileInfo']: ...
    @typing.overload
    def entryList(self, filters: 'QDir.Filter' = ..., sort: 'QDir.SortFlag' = ...) -> list[str]: ...
    @typing.overload
    def entryList(self, nameFilters: collections.abc.Iterable[typing.Optional[str]], filters: 'QDir.Filter' = ..., sort: 'QDir.SortFlag' = ...) -> list[str]: ...
    @staticmethod
    def nameFiltersFromString(nameFilter: typing.Optional[str]) -> list[str]: ...
    def __contains__(self, a0: typing.Optional[str]) -> int: ...
    @typing.overload
    def __getitem__(self, a0: int) -> str: ...
    @typing.overload
    def __getitem__(self, a0: slice) -> list[str]: ...
    def __len__(self) -> int: ...
    def count(self) -> int: ...
    def setSorting(self, sort: 'QDir.SortFlag') -> None: ...
    def sorting(self) -> 'QDir.SortFlag': ...
    def setFilter(self, filter: 'QDir.Filter') -> None: ...
    def filter(self) -> 'QDir.Filter': ...
    def setNameFilters(self, nameFilters: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    def nameFilters(self) -> list[str]: ...
    def cdUp(self) -> bool: ...
    def cd(self, dirName: typing.Optional[str]) -> bool: ...
    def relativeFilePath(self, fileName: typing.Optional[str]) -> str: ...
    def absoluteFilePath(self, fileName: typing.Optional[str]) -> str: ...
    def filePath(self, fileName: typing.Optional[str]) -> str: ...
    def dirName(self) -> str: ...
    def canonicalPath(self) -> str: ...
    def absolutePath(self) -> str: ...
    def path(self) -> str: ...
    def setPath(self, path: typing.Optional[str]) -> None: ...


class QDirIterator(PyQt6.sip.simplewrapper):

    class IteratorFlag(enum.Flag):
        NoIteratorFlags = ... # type: QDirIterator.IteratorFlag
        FollowSymlinks = ... # type: QDirIterator.IteratorFlag
        Subdirectories = ... # type: QDirIterator.IteratorFlag

    @typing.overload
    def __init__(self, dir: QDir, flags: 'QDirIterator.IteratorFlag' = ...) -> None: ...
    @typing.overload
    def __init__(self, path: typing.Optional[str], flags: 'QDirIterator.IteratorFlag' = ...) -> None: ...
    @typing.overload
    def __init__(self, path: typing.Optional[str], filter: QDir.Filter, flags: 'QDirIterator.IteratorFlag' = ...) -> None: ...
    @typing.overload
    def __init__(self, path: typing.Optional[str], nameFilters: collections.abc.Iterable[typing.Optional[str]], filters: QDir.Filter = ..., flags: 'QDirIterator.IteratorFlag' = ...) -> None: ...

    def path(self) -> str: ...
    def fileInfo(self) -> 'QFileInfo': ...
    def filePath(self) -> str: ...
    def fileName(self) -> str: ...
    def hasNext(self) -> bool: ...
    def nextFileInfo(self) -> 'QFileInfo': ...
    def next(self) -> str: ...


class QEasingCurve(PyQt6.sip.simplewrapper):

    class Type(enum.Enum):
        Linear = ... # type: QEasingCurve.Type
        InQuad = ... # type: QEasingCurve.Type
        OutQuad = ... # type: QEasingCurve.Type
        InOutQuad = ... # type: QEasingCurve.Type
        OutInQuad = ... # type: QEasingCurve.Type
        InCubic = ... # type: QEasingCurve.Type
        OutCubic = ... # type: QEasingCurve.Type
        InOutCubic = ... # type: QEasingCurve.Type
        OutInCubic = ... # type: QEasingCurve.Type
        InQuart = ... # type: QEasingCurve.Type
        OutQuart = ... # type: QEasingCurve.Type
        InOutQuart = ... # type: QEasingCurve.Type
        OutInQuart = ... # type: QEasingCurve.Type
        InQuint = ... # type: QEasingCurve.Type
        OutQuint = ... # type: QEasingCurve.Type
        InOutQuint = ... # type: QEasingCurve.Type
        OutInQuint = ... # type: QEasingCurve.Type
        InSine = ... # type: QEasingCurve.Type
        OutSine = ... # type: QEasingCurve.Type
        InOutSine = ... # type: QEasingCurve.Type
        OutInSine = ... # type: QEasingCurve.Type
        InExpo = ... # type: QEasingCurve.Type
        OutExpo = ... # type: QEasingCurve.Type
        InOutExpo = ... # type: QEasingCurve.Type
        OutInExpo = ... # type: QEasingCurve.Type
        InCirc = ... # type: QEasingCurve.Type
        OutCirc = ... # type: QEasingCurve.Type
        InOutCirc = ... # type: QEasingCurve.Type
        OutInCirc = ... # type: QEasingCurve.Type
        InElastic = ... # type: QEasingCurve.Type
        OutElastic = ... # type: QEasingCurve.Type
        InOutElastic = ... # type: QEasingCurve.Type
        OutInElastic = ... # type: QEasingCurve.Type
        InBack = ... # type: QEasingCurve.Type
        OutBack = ... # type: QEasingCurve.Type
        InOutBack = ... # type: QEasingCurve.Type
        OutInBack = ... # type: QEasingCurve.Type
        InBounce = ... # type: QEasingCurve.Type
        OutBounce = ... # type: QEasingCurve.Type
        InOutBounce = ... # type: QEasingCurve.Type
        OutInBounce = ... # type: QEasingCurve.Type
        InCurve = ... # type: QEasingCurve.Type
        OutCurve = ... # type: QEasingCurve.Type
        SineCurve = ... # type: QEasingCurve.Type
        CosineCurve = ... # type: QEasingCurve.Type
        BezierSpline = ... # type: QEasingCurve.Type
        TCBSpline = ... # type: QEasingCurve.Type
        Custom = ... # type: QEasingCurve.Type

    @typing.overload
    def __init__(self, type: 'QEasingCurve.Type' = ...) -> None: ...
    @typing.overload
    def __init__(self, other: typing.Union['QEasingCurve', 'QEasingCurve.Type']) -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def toCubicSpline(self) -> list['QPointF']: ...
    def addTCBSegment(self, nextPoint: 'QPointF', t: float, c: float, b: float) -> None: ...
    def addCubicBezierSegment(self, c1: 'QPointF', c2: 'QPointF', endPoint: 'QPointF') -> None: ...
    def swap(self, other: 'QEasingCurve') -> None: ...
    def valueForProgress(self, progress: float) -> float: ...
    def customType(self) -> collections.abc.Callable[[float], float]: ...
    def setCustomType(self, func: collections.abc.Callable[[float], float]) -> None: ...
    def setType(self, type: 'QEasingCurve.Type') -> None: ...
    def type(self) -> 'QEasingCurve.Type': ...
    def setOvershoot(self, overshoot: float) -> None: ...
    def overshoot(self) -> float: ...
    def setPeriod(self, period: float) -> None: ...
    def period(self) -> float: ...
    def setAmplitude(self, amplitude: float) -> None: ...
    def amplitude(self) -> float: ...


class QElapsedTimer(PyQt6.sip.simplewrapper):

    class ClockType(enum.Enum):
        SystemTime = ... # type: QElapsedTimer.ClockType
        MonotonicClock = ... # type: QElapsedTimer.ClockType
        TickCounter = ... # type: QElapsedTimer.ClockType
        MachAbsoluteTime = ... # type: QElapsedTimer.ClockType
        PerformanceCounter = ... # type: QElapsedTimer.ClockType

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QElapsedTimer') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __ge__(self, rhs: 'QElapsedTimer') -> bool: ...
    def __le__(self, rhs: 'QElapsedTimer') -> bool: ...
    def __gt__(self, rhs: 'QElapsedTimer') -> bool: ...
    def __lt__(self, v2: 'QElapsedTimer') -> bool: ...
    def nsecsElapsed(self) -> int: ...
    def secsTo(self, other: 'QElapsedTimer') -> int: ...
    def msecsTo(self, other: 'QElapsedTimer') -> int: ...
    def msecsSinceReference(self) -> int: ...
    def hasExpired(self, timeout: int) -> bool: ...
    def elapsed(self) -> int: ...
    def isValid(self) -> bool: ...
    def invalidate(self) -> None: ...
    def restart(self) -> int: ...
    def start(self) -> None: ...
    @staticmethod
    def isMonotonic() -> bool: ...
    @staticmethod
    def clockType() -> 'QElapsedTimer.ClockType': ...


class QEventLoop(QObject):

    class ProcessEventsFlag(enum.Flag):
        AllEvents = ... # type: QEventLoop.ProcessEventsFlag
        ExcludeUserInputEvents = ... # type: QEventLoop.ProcessEventsFlag
        ExcludeSocketNotifiers = ... # type: QEventLoop.ProcessEventsFlag
        WaitForMoreEvents = ... # type: QEventLoop.ProcessEventsFlag

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def event(self, event: typing.Optional[QEvent]) -> bool: ...
    def quit(self) -> None: ...
    def wakeUp(self) -> None: ...
    def isRunning(self) -> bool: ...
    def exit(self, returnCode: int = ...) -> None: ...
    def exec(self, flags: 'QEventLoop.ProcessEventsFlag' = ...) -> int: ...
    @typing.overload
    def processEvents(self, flags: 'QEventLoop.ProcessEventsFlag' = ...) -> bool: ...
    @typing.overload
    def processEvents(self, flags: 'QEventLoop.ProcessEventsFlag', maximumTime: int) -> None: ...
    @typing.overload
    def processEvents(self, flags: 'QEventLoop.ProcessEventsFlag', deadline: QDeadlineTimer) -> None: ...


class QEventLoopLocker(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, loop: typing.Optional[QEventLoop]) -> None: ...
    @typing.overload
    def __init__(self, thread: typing.Optional['QThread']) -> None: ...

    def swap(self, other: 'QEventLoopLocker') -> None: ...


class QFileDevice(QIODevice):

    class MemoryMapFlag(enum.Flag):
        NoOptions = ... # type: QFileDevice.MemoryMapFlag
        MapPrivateOption = ... # type: QFileDevice.MemoryMapFlag

    class FileTime(enum.Enum):
        FileAccessTime = ... # type: QFileDevice.FileTime
        FileBirthTime = ... # type: QFileDevice.FileTime
        FileMetadataChangeTime = ... # type: QFileDevice.FileTime
        FileModificationTime = ... # type: QFileDevice.FileTime

    class FileHandleFlag(enum.Flag):
        AutoCloseHandle = ... # type: QFileDevice.FileHandleFlag
        DontCloseHandle = ... # type: QFileDevice.FileHandleFlag

    class Permission(enum.Flag):
        ReadOwner = ... # type: QFileDevice.Permission
        WriteOwner = ... # type: QFileDevice.Permission
        ExeOwner = ... # type: QFileDevice.Permission
        ReadUser = ... # type: QFileDevice.Permission
        WriteUser = ... # type: QFileDevice.Permission
        ExeUser = ... # type: QFileDevice.Permission
        ReadGroup = ... # type: QFileDevice.Permission
        WriteGroup = ... # type: QFileDevice.Permission
        ExeGroup = ... # type: QFileDevice.Permission
        ReadOther = ... # type: QFileDevice.Permission
        WriteOther = ... # type: QFileDevice.Permission
        ExeOther = ... # type: QFileDevice.Permission

    class FileError(enum.Enum):
        NoError = ... # type: QFileDevice.FileError
        ReadError = ... # type: QFileDevice.FileError
        WriteError = ... # type: QFileDevice.FileError
        FatalError = ... # type: QFileDevice.FileError
        ResourceError = ... # type: QFileDevice.FileError
        OpenError = ... # type: QFileDevice.FileError
        AbortError = ... # type: QFileDevice.FileError
        TimeOutError = ... # type: QFileDevice.FileError
        UnspecifiedError = ... # type: QFileDevice.FileError
        RemoveError = ... # type: QFileDevice.FileError
        RenameError = ... # type: QFileDevice.FileError
        PositionError = ... # type: QFileDevice.FileError
        ResizeError = ... # type: QFileDevice.FileError
        PermissionsError = ... # type: QFileDevice.FileError
        CopyError = ... # type: QFileDevice.FileError

    def setFileTime(self, newDate: typing.Union[QDateTime, datetime.datetime], fileTime: 'QFileDevice.FileTime') -> bool: ...
    def fileTime(self, time: 'QFileDevice.FileTime') -> QDateTime: ...
    def writeData(self, a0: PyQt6.sip.Buffer) -> int: ...
    def readLineData(self, maxlen: int) -> bytes: ...
    def readData(self, maxlen: int) -> bytes: ...
    def unmap(self, address: typing.Optional[PyQt6.sip.voidptr]) -> bool: ...
    def map(self, offset: int, size: int, flags: 'QFileDevice.MemoryMapFlag' = ...) -> typing.Optional[PyQt6.sip.voidptr]: ...
    def setPermissions(self, permissionSpec: 'QFileDevice.Permission') -> bool: ...
    def permissions(self) -> 'QFileDevice.Permission': ...
    def resize(self, sz: int) -> bool: ...
    def size(self) -> int: ...
    def flush(self) -> bool: ...
    def atEnd(self) -> bool: ...
    def seek(self, offset: int) -> bool: ...
    def pos(self) -> int: ...
    def fileName(self) -> str: ...
    def handle(self) -> int: ...
    def isSequential(self) -> bool: ...
    def close(self) -> None: ...
    def unsetError(self) -> None: ...
    def error(self) -> 'QFileDevice.FileError': ...


class QFile(QFileDevice):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, name: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, parent: typing.Optional[QObject]) -> None: ...
    @typing.overload
    def __init__(self, name: typing.Optional[str], parent: typing.Optional[QObject]) -> None: ...

    @staticmethod
    def supportsMoveToTrash() -> bool: ...
    @typing.overload
    def moveToTrash(self) -> bool: ...
    @typing.overload
    @staticmethod
    def moveToTrash(fileName: typing.Optional[str]) -> typing.Tuple[bool, typing.Optional[str]]: ...
    @typing.overload
    def setPermissions(self, permissionSpec: QFileDevice.Permission) -> bool: ...
    @typing.overload
    @staticmethod
    def setPermissions(filename: typing.Optional[str], permissionSpec: QFileDevice.Permission) -> bool: ...
    @typing.overload
    def permissions(self) -> QFileDevice.Permission: ...
    @typing.overload
    @staticmethod
    def permissions(filename: typing.Optional[str]) -> QFileDevice.Permission: ...
    @typing.overload
    def resize(self, sz: int) -> bool: ...
    @typing.overload
    @staticmethod
    def resize(filename: typing.Optional[str], sz: int) -> bool: ...
    def size(self) -> int: ...
    @typing.overload
    def open(self, flags: QIODeviceBase.OpenModeFlag, permissions: QFileDevice.Permission) -> bool: ...
    @typing.overload
    def open(self, flags: QIODeviceBase.OpenModeFlag) -> bool: ...
    @typing.overload
    def open(self, fd: int, ioFlags: QIODeviceBase.OpenModeFlag, handleFlags: QFileDevice.FileHandleFlag = ...) -> bool: ...
    @typing.overload
    def copy(self, newName: typing.Optional[str]) -> bool: ...
    @typing.overload
    @staticmethod
    def copy(fileName: typing.Optional[str], newName: typing.Optional[str]) -> bool: ...
    @typing.overload
    def link(self, newName: typing.Optional[str]) -> bool: ...
    @typing.overload
    @staticmethod
    def link(oldname: typing.Optional[str], newName: typing.Optional[str]) -> bool: ...
    @typing.overload
    def rename(self, newName: typing.Optional[str]) -> bool: ...
    @typing.overload
    @staticmethod
    def rename(oldName: typing.Optional[str], newName: typing.Optional[str]) -> bool: ...
    @typing.overload
    def remove(self) -> bool: ...
    @typing.overload
    @staticmethod
    def remove(fileName: typing.Optional[str]) -> bool: ...
    @typing.overload
    def symLinkTarget(self) -> str: ...
    @typing.overload
    @staticmethod
    def symLinkTarget(fileName: typing.Optional[str]) -> str: ...
    @typing.overload
    def exists(self) -> bool: ...
    @typing.overload
    @staticmethod
    def exists(fileName: typing.Optional[str]) -> bool: ...
    @typing.overload
    @staticmethod
    def decodeName(localFileName: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> str: ...
    @typing.overload
    @staticmethod
    def decodeName(localFileName: typing.Optional[str]) -> str: ...
    @staticmethod
    def encodeName(fileName: typing.Optional[str]) -> QByteArray: ...
    def setFileName(self, name: typing.Optional[str]) -> None: ...
    def fileName(self) -> str: ...


class QFileInfo(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, file: QFileDevice) -> None: ...
    @typing.overload
    def __init__(self, file: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, dir: QDir, file: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, fileinfo: 'QFileInfo') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def readSymLink(self) -> str: ...
    def isAlias(self) -> bool: ...
    def junctionTarget(self) -> str: ...
    def stat(self) -> None: ...
    def isJunction(self) -> bool: ...
    def isShortcut(self) -> bool: ...
    def isSymbolicLink(self) -> bool: ...
    @typing.overload
    def fileTime(self, time: QFileDevice.FileTime) -> QDateTime: ...
    @typing.overload
    def fileTime(self, time: QFileDevice.FileTime, tz: 'QTimeZone') -> QDateTime: ...
    @typing.overload
    def metadataChangeTime(self) -> QDateTime: ...
    @typing.overload
    def metadataChangeTime(self, tz: 'QTimeZone') -> QDateTime: ...
    @typing.overload
    def birthTime(self) -> QDateTime: ...
    @typing.overload
    def birthTime(self, tz: 'QTimeZone') -> QDateTime: ...
    def swap(self, other: 'QFileInfo') -> None: ...
    def isNativePath(self) -> bool: ...
    def isBundle(self) -> bool: ...
    def bundleName(self) -> str: ...
    def symLinkTarget(self) -> str: ...
    def setCaching(self, on: bool) -> None: ...
    def caching(self) -> bool: ...
    @typing.overload
    def lastRead(self) -> QDateTime: ...
    @typing.overload
    def lastRead(self, tz: 'QTimeZone') -> QDateTime: ...
    @typing.overload
    def lastModified(self) -> QDateTime: ...
    @typing.overload
    def lastModified(self, tz: 'QTimeZone') -> QDateTime: ...
    def size(self) -> int: ...
    def permissions(self) -> QFileDevice.Permission: ...
    def permission(self, permissions: QFileDevice.Permission) -> bool: ...
    def groupId(self) -> int: ...
    def group(self) -> str: ...
    def ownerId(self) -> int: ...
    def owner(self) -> str: ...
    def isRoot(self) -> bool: ...
    def isSymLink(self) -> bool: ...
    def isDir(self) -> bool: ...
    def isFile(self) -> bool: ...
    def makeAbsolute(self) -> bool: ...
    def isAbsolute(self) -> bool: ...
    def isRelative(self) -> bool: ...
    def isHidden(self) -> bool: ...
    def isExecutable(self) -> bool: ...
    def isWritable(self) -> bool: ...
    def isReadable(self) -> bool: ...
    def absoluteDir(self) -> QDir: ...
    def dir(self) -> QDir: ...
    def canonicalPath(self) -> str: ...
    def absolutePath(self) -> str: ...
    def path(self) -> str: ...
    def completeSuffix(self) -> str: ...
    def suffix(self) -> str: ...
    def completeBaseName(self) -> str: ...
    def baseName(self) -> str: ...
    def fileName(self) -> str: ...
    def canonicalFilePath(self) -> str: ...
    def absoluteFilePath(self) -> str: ...
    def __fspath__(self) -> typing.Any: ...
    def filePath(self) -> str: ...
    def refresh(self) -> None: ...
    @typing.overload
    def exists(self) -> bool: ...
    @typing.overload
    @staticmethod
    def exists(file: typing.Optional[str]) -> bool: ...
    @typing.overload
    def setFile(self, file: typing.Optional[str]) -> None: ...
    @typing.overload
    def setFile(self, file: QFileDevice) -> None: ...
    @typing.overload
    def setFile(self, dir: QDir, file: typing.Optional[str]) -> None: ...


class QFileSelector(QObject):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def allSelectors(self) -> list[str]: ...
    def setExtraSelectors(self, list: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    def extraSelectors(self) -> list[str]: ...
    @typing.overload
    def select(self, filePath: typing.Optional[str]) -> str: ...
    @typing.overload
    def select(self, filePath: 'QUrl') -> 'QUrl': ...


class QFileSystemWatcher(QObject):

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, paths: collections.abc.Iterable[typing.Optional[str]], parent: typing.Optional[QObject] = ...) -> None: ...

    fileChanged: typing.ClassVar[pyqtSignal]
    directoryChanged: typing.ClassVar[pyqtSignal]
    def removePaths(self, files: collections.abc.Iterable[typing.Optional[str]]) -> list[str]: ...
    def removePath(self, file: typing.Optional[str]) -> bool: ...
    def files(self) -> list[str]: ...
    def directories(self) -> list[str]: ...
    def addPaths(self, files: collections.abc.Iterable[typing.Optional[str]]) -> list[str]: ...
    def addPath(self, file: typing.Optional[str]) -> bool: ...


class QIdentityProxyModel(QAbstractProxyModel):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def setHandleSourceDataChanges(self, a0: bool) -> None: ...
    def setHandleSourceLayoutChanges(self, a0: bool) -> None: ...
    def handleSourceDataChanges(self) -> bool: ...
    def handleSourceLayoutChanges(self) -> bool: ...
    def moveColumns(self, sourceParent: QModelIndex, sourceColumn: int, count: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def moveRows(self, sourceParent: QModelIndex, sourceRow: int, count: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def headerData(self, section: int, orientation: Qt.Orientation, role: int = ...) -> typing.Any: ...
    def removeRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def removeColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def setSourceModel(self, sourceModel: typing.Optional[QAbstractItemModel]) -> None: ...
    def match(self, start: QModelIndex, role: int, value: typing.Any, hits: int = ..., flags: Qt.MatchFlag = ...) -> list[QModelIndex]: ...
    def mapSelectionToSource(self, selection: 'QItemSelection') -> 'QItemSelection': ...
    def mapSelectionFromSource(self, selection: 'QItemSelection') -> 'QItemSelection': ...
    def dropMimeData(self, data: typing.Optional['QMimeData'], action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def rowCount(self, parent: QModelIndex = ...) -> int: ...
    def parent(self, child: QModelIndex) -> QModelIndex: ...
    def mapToSource(self, proxyIndex: QModelIndex) -> QModelIndex: ...
    def mapFromSource(self, sourceIndex: QModelIndex) -> QModelIndex: ...
    def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: ...
    def columnCount(self, parent: QModelIndex = ...) -> int: ...


class QItemSelectionRange(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, atopLeft: QModelIndex, abottomRight: QModelIndex) -> None: ...
    @typing.overload
    def __init__(self, index: QModelIndex) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QItemSelectionRange') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def swap(self, other: 'QItemSelectionRange') -> None: ...
    def isEmpty(self) -> bool: ...
    def intersected(self, other: 'QItemSelectionRange') -> 'QItemSelectionRange': ...
    def indexes(self) -> list[QModelIndex]: ...
    def isValid(self) -> bool: ...
    def intersects(self, other: 'QItemSelectionRange') -> bool: ...
    @typing.overload
    def contains(self, index: QModelIndex) -> bool: ...
    @typing.overload
    def contains(self, row: int, column: int, parentIndex: QModelIndex) -> bool: ...
    def model(self) -> typing.Optional[QAbstractItemModel]: ...
    def parent(self) -> QModelIndex: ...
    def bottomRight(self) -> QPersistentModelIndex: ...
    def topLeft(self) -> QPersistentModelIndex: ...
    def height(self) -> int: ...
    def width(self) -> int: ...
    def right(self) -> int: ...
    def bottom(self) -> int: ...
    def left(self) -> int: ...
    def top(self) -> int: ...


class QItemSelectionModel(QObject):

    class SelectionFlag(enum.Flag):
        NoUpdate = ... # type: QItemSelectionModel.SelectionFlag
        Clear = ... # type: QItemSelectionModel.SelectionFlag
        Select = ... # type: QItemSelectionModel.SelectionFlag
        Deselect = ... # type: QItemSelectionModel.SelectionFlag
        Toggle = ... # type: QItemSelectionModel.SelectionFlag
        Current = ... # type: QItemSelectionModel.SelectionFlag
        Rows = ... # type: QItemSelectionModel.SelectionFlag
        Columns = ... # type: QItemSelectionModel.SelectionFlag
        SelectCurrent = ... # type: QItemSelectionModel.SelectionFlag
        ToggleCurrent = ... # type: QItemSelectionModel.SelectionFlag
        ClearAndSelect = ... # type: QItemSelectionModel.SelectionFlag

    @typing.overload
    def __init__(self, model: typing.Optional[QAbstractItemModel] = ...) -> None: ...
    @typing.overload
    def __init__(self, model: typing.Optional[QAbstractItemModel], parent: typing.Optional[QObject]) -> None: ...

    modelChanged: typing.ClassVar[pyqtSignal]
    def setModel(self, model: typing.Optional[QAbstractItemModel]) -> None: ...
    def selectedColumns(self, row: int = ...) -> list[QModelIndex]: ...
    def selectedRows(self, column: int = ...) -> list[QModelIndex]: ...
    def hasSelection(self) -> bool: ...
    def emitSelectionChanged(self, newSelection: 'QItemSelection', oldSelection: 'QItemSelection') -> None: ...
    currentColumnChanged: typing.ClassVar[pyqtSignal]
    currentRowChanged: typing.ClassVar[pyqtSignal]
    currentChanged: typing.ClassVar[pyqtSignal]
    selectionChanged: typing.ClassVar[pyqtSignal]
    def clearCurrentIndex(self) -> None: ...
    def setCurrentIndex(self, index: QModelIndex, command: 'QItemSelectionModel.SelectionFlag') -> None: ...
    @typing.overload
    def select(self, index: QModelIndex, command: 'QItemSelectionModel.SelectionFlag') -> None: ...
    @typing.overload
    def select(self, selection: 'QItemSelection', command: 'QItemSelectionModel.SelectionFlag') -> None: ...
    def reset(self) -> None: ...
    def clearSelection(self) -> None: ...
    def clear(self) -> None: ...
    def model(self) -> typing.Optional[QAbstractItemModel]: ...
    def selection(self) -> 'QItemSelection': ...
    def selectedIndexes(self) -> list[QModelIndex]: ...
    def columnIntersectsSelection(self, column: int, parent: QModelIndex = ...) -> bool: ...
    def rowIntersectsSelection(self, row: int, parent: QModelIndex = ...) -> bool: ...
    def isColumnSelected(self, column: int, parent: QModelIndex = ...) -> bool: ...
    def isRowSelected(self, row: int, parent: QModelIndex = ...) -> bool: ...
    def isSelected(self, index: QModelIndex) -> bool: ...
    def currentIndex(self) -> QModelIndex: ...


class QItemSelection(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, topLeft: QModelIndex, bottomRight: QModelIndex) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QItemSelection') -> None: ...

    @typing.overload
    def __iadd__(self, other: 'QItemSelection') -> 'QItemSelection': ...
    @typing.overload
    def __iadd__(self, value: QItemSelectionRange) -> 'QItemSelection': ...
    def lastIndexOf(self, value: QItemSelectionRange, from_: int = ...) -> int: ...
    def indexOf(self, value: QItemSelectionRange, from_: int = ...) -> int: ...
    def last(self) -> QItemSelectionRange: ...
    def first(self) -> QItemSelectionRange: ...
    def __len__(self) -> int: ...
    @typing.overload
    def count(self, range: QItemSelectionRange) -> int: ...
    @typing.overload
    def count(self) -> int: ...
    def move(self, from_: int, to: int) -> None: ...
    def takeLast(self) -> QItemSelectionRange: ...
    def takeFirst(self) -> QItemSelectionRange: ...
    def takeAt(self, i: int) -> QItemSelectionRange: ...
    def removeAll(self, range: QItemSelectionRange) -> int: ...
    def removeAt(self, i: int) -> None: ...
    def replace(self, i: int, range: QItemSelectionRange) -> None: ...
    def insert(self, i: int, range: QItemSelectionRange) -> None: ...
    def prepend(self, range: QItemSelectionRange) -> None: ...
    def append(self, range: QItemSelectionRange) -> None: ...
    def isEmpty(self) -> bool: ...
    def clear(self) -> None: ...
    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    @typing.overload
    def __getitem__(self, i: int) -> QItemSelectionRange: ...
    @typing.overload
    def __getitem__(self, slice: slice) -> 'QItemSelection': ...
    @typing.overload
    def __delitem__(self, i: int) -> None: ...
    @typing.overload
    def __delitem__(self, slice: slice) -> None: ...
    @typing.overload
    def __setitem__(self, i: int, range: QItemSelectionRange) -> None: ...
    @typing.overload
    def __setitem__(self, slice: slice, list: 'QItemSelection') -> None: ...
    @staticmethod
    def split(range: QItemSelectionRange, other: QItemSelectionRange, result: typing.Optional['QItemSelection']) -> None: ...
    def merge(self, other: 'QItemSelection', command: QItemSelectionModel.SelectionFlag) -> None: ...
    def indexes(self) -> list[QModelIndex]: ...
    def __contains__(self, index: QModelIndex) -> int: ...
    def contains(self, index: QModelIndex) -> bool: ...
    def select(self, topLeft: QModelIndex, bottomRight: QModelIndex) -> None: ...


class QJsonDocument(PyQt6.sip.simplewrapper):

    class JsonFormat(enum.Enum):
        Indented = ... # type: QJsonDocument.JsonFormat
        Compact = ... # type: QJsonDocument.JsonFormat

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, object: dict[typing.Optional[str], typing.Union['QJsonValue', 'QJsonValue.Type', collections.abc.Iterable['QJsonValue'], dict[typing.Optional[str], 'QJsonValue'], bool, int, float, None, typing.Optional[str]]]) -> None: ...
    @typing.overload
    def __init__(self, array: collections.abc.Iterable[typing.Union['QJsonValue', 'QJsonValue.Type', collections.abc.Iterable['QJsonValue'], dict[typing.Optional[str], 'QJsonValue'], bool, int, float, None, typing.Optional[str]]]) -> None: ...
    @typing.overload
    def __init__(self, other: 'QJsonDocument') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    @typing.overload
    def __getitem__(self, i: int) -> typing.Optional['QJsonValue']: ...
    @typing.overload
    def __getitem__(self, key: typing.Optional[str]) -> typing.Optional['QJsonValue']: ...
    def swap(self, other: 'QJsonDocument') -> None: ...
    def isNull(self) -> bool: ...
    def setArray(self, array: collections.abc.Iterable[typing.Union['QJsonValue', 'QJsonValue.Type', collections.abc.Iterable['QJsonValue'], dict[typing.Optional[str], 'QJsonValue'], bool, int, float, None, typing.Optional[str]]]) -> None: ...
    def setObject(self, object: dict[typing.Optional[str], typing.Union['QJsonValue', 'QJsonValue.Type', collections.abc.Iterable['QJsonValue'], dict[typing.Optional[str], 'QJsonValue'], bool, int, float, None, typing.Optional[str]]]) -> None: ...
    def array(self) -> list['QJsonValue']: ...
    def object(self) -> dict[str, 'QJsonValue']: ...
    def isObject(self) -> bool: ...
    def isArray(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def toJson(self, format: 'QJsonDocument.JsonFormat' = ...) -> QByteArray: ...
    @staticmethod
    def fromJson(json: typing.Union[QByteArray, bytes, bytearray, memoryview], error: typing.Optional['QJsonParseError'] = ...) -> 'QJsonDocument': ...
    def toVariant(self) -> typing.Any: ...
    @staticmethod
    def fromVariant(variant: typing.Any) -> 'QJsonDocument': ...


class QJsonParseError(PyQt6.sip.simplewrapper):

    class ParseError(enum.Enum):
        NoError = ... # type: QJsonParseError.ParseError
        UnterminatedObject = ... # type: QJsonParseError.ParseError
        MissingNameSeparator = ... # type: QJsonParseError.ParseError
        UnterminatedArray = ... # type: QJsonParseError.ParseError
        MissingValueSeparator = ... # type: QJsonParseError.ParseError
        IllegalValue = ... # type: QJsonParseError.ParseError
        TerminationByNumber = ... # type: QJsonParseError.ParseError
        IllegalNumber = ... # type: QJsonParseError.ParseError
        IllegalEscapeSequence = ... # type: QJsonParseError.ParseError
        IllegalUTF8String = ... # type: QJsonParseError.ParseError
        UnterminatedString = ... # type: QJsonParseError.ParseError
        MissingObject = ... # type: QJsonParseError.ParseError
        DeepNesting = ... # type: QJsonParseError.ParseError
        DocumentTooLarge = ... # type: QJsonParseError.ParseError
        GarbageAtEnd = ... # type: QJsonParseError.ParseError

    error = ... # type: 'QJsonParseError.ParseError'
    offset = ... # type: int

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QJsonParseError') -> None: ...

    def errorString(self) -> str: ...


class QJsonValue(PyQt6.sip.simplewrapper):

    class Type(enum.Enum):
        Null = ... # type: QJsonValue.Type
        Bool = ... # type: QJsonValue.Type
        Double = ... # type: QJsonValue.Type
        String = ... # type: QJsonValue.Type
        Array = ... # type: QJsonValue.Type
        Object = ... # type: QJsonValue.Type
        Undefined = ... # type: QJsonValue.Type

    @typing.overload
    def __init__(self, type: 'QJsonValue.Type' = ...) -> None: ...
    @typing.overload
    def __init__(self, other: typing.Union['QJsonValue', 'QJsonValue.Type', collections.abc.Iterable['QJsonValue'], dict[typing.Optional[str], 'QJsonValue'], bool, int, float, None, typing.Optional[str]]) -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def toJson(self, format: QJsonDocument.JsonFormat = ...) -> QByteArray: ...
    @staticmethod
    def fromJson(json: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> typing.Tuple[typing.Optional['QJsonValue'], typing.Optional[QJsonParseError]]: ...
    def __hash__(self) -> int: ...
    @typing.overload
    def __getitem__(self, i: int) -> typing.Optional['QJsonValue']: ...
    @typing.overload
    def __getitem__(self, key: typing.Optional[str]) -> typing.Optional['QJsonValue']: ...
    def swap(self, other: typing.Optional['QJsonValue']) -> None: ...
    @typing.overload
    def toString(self) -> str: ...
    @typing.overload
    def toString(self, defaultValue: typing.Optional[str]) -> str: ...
    @typing.overload
    def toObject(self) -> dict[str, 'QJsonValue']: ...
    @typing.overload
    def toObject(self, defaultValue: dict[typing.Optional[str], typing.Union['QJsonValue', 'QJsonValue.Type', collections.abc.Iterable['QJsonValue'], dict[typing.Optional[str], 'QJsonValue'], bool, int, float, None, typing.Optional[str]]]) -> dict[str, 'QJsonValue']: ...
    @typing.overload
    def toArray(self) -> list['QJsonValue']: ...
    @typing.overload
    def toArray(self, defaultValue: collections.abc.Iterable[typing.Union['QJsonValue', 'QJsonValue.Type', collections.abc.Iterable['QJsonValue'], dict[typing.Optional[str], 'QJsonValue'], bool, int, float, None, typing.Optional[str]]]) -> list['QJsonValue']: ...
    def toDouble(self, defaultValue: float = ...) -> float: ...
    def toInteger(self, defaultValue: int = ...) -> int: ...
    def toInt(self, defaultValue: int = ...) -> int: ...
    def toBool(self, defaultValue: bool = ...) -> bool: ...
    def isUndefined(self) -> bool: ...
    def isObject(self) -> bool: ...
    def isArray(self) -> bool: ...
    def isString(self) -> bool: ...
    def isDouble(self) -> bool: ...
    def isBool(self) -> bool: ...
    def isNull(self) -> bool: ...
    def type(self) -> 'QJsonValue.Type': ...
    def toVariant(self) -> typing.Any: ...
    @staticmethod
    def fromVariant(variant: typing.Any) -> typing.Optional['QJsonValue']: ...


class QLibrary(QObject):

    class LoadHint(enum.Flag):
        ResolveAllSymbolsHint = ... # type: QLibrary.LoadHint
        ExportExternalSymbolsHint = ... # type: QLibrary.LoadHint
        LoadArchiveMemberHint = ... # type: QLibrary.LoadHint
        PreventUnloadHint = ... # type: QLibrary.LoadHint
        DeepBindHint = ... # type: QLibrary.LoadHint

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, fileName: typing.Optional[str], parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, fileName: typing.Optional[str], verNum: int, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, fileName: typing.Optional[str], version: typing.Optional[str], parent: typing.Optional[QObject] = ...) -> None: ...

    def setLoadHints(self, hints: 'QLibrary.LoadHint') -> None: ...
    @typing.overload
    def setFileNameAndVersion(self, fileName: typing.Optional[str], verNum: int) -> None: ...
    @typing.overload
    def setFileNameAndVersion(self, fileName: typing.Optional[str], version: typing.Optional[str]) -> None: ...
    def setFileName(self, fileName: typing.Optional[str]) -> None: ...
    @staticmethod
    def isLibrary(fileName: typing.Optional[str]) -> bool: ...
    def unload(self) -> bool: ...
    @typing.overload
    def resolve(self, symbol: typing.Optional[str]) -> typing.Optional[PyQt6.sip.voidptr]: ...
    @typing.overload
    @staticmethod
    def resolve(fileName: typing.Optional[str], symbol: typing.Optional[str]) -> typing.Optional[PyQt6.sip.voidptr]: ...
    @typing.overload
    @staticmethod
    def resolve(fileName: typing.Optional[str], verNum: int, symbol: typing.Optional[str]) -> typing.Optional[PyQt6.sip.voidptr]: ...
    @typing.overload
    @staticmethod
    def resolve(fileName: typing.Optional[str], version: typing.Optional[str], symbol: typing.Optional[str]) -> typing.Optional[PyQt6.sip.voidptr]: ...
    def loadHints(self) -> 'QLibrary.LoadHint': ...
    def load(self) -> bool: ...
    def isLoaded(self) -> bool: ...
    def fileName(self) -> str: ...
    def errorString(self) -> str: ...


class QLibraryInfo(PyQt6.sip.simplewrapper):

    class LibraryPath(enum.Enum):
        PrefixPath = ... # type: QLibraryInfo.LibraryPath
        DocumentationPath = ... # type: QLibraryInfo.LibraryPath
        HeadersPath = ... # type: QLibraryInfo.LibraryPath
        LibrariesPath = ... # type: QLibraryInfo.LibraryPath
        LibraryExecutablesPath = ... # type: QLibraryInfo.LibraryPath
        BinariesPath = ... # type: QLibraryInfo.LibraryPath
        PluginsPath = ... # type: QLibraryInfo.LibraryPath
        Qml2ImportsPath = ... # type: QLibraryInfo.LibraryPath
        ArchDataPath = ... # type: QLibraryInfo.LibraryPath
        DataPath = ... # type: QLibraryInfo.LibraryPath
        TranslationsPath = ... # type: QLibraryInfo.LibraryPath
        ExamplesPath = ... # type: QLibraryInfo.LibraryPath
        TestsPath = ... # type: QLibraryInfo.LibraryPath
        SettingsPath = ... # type: QLibraryInfo.LibraryPath
        QmlImportsPath = ... # type: QLibraryInfo.LibraryPath

    def __init__(self, a0: 'QLibraryInfo') -> None: ...

    @staticmethod
    def paths(p: 'QLibraryInfo.LibraryPath') -> list[str]: ...
    @staticmethod
    def version() -> 'QVersionNumber': ...
    @staticmethod
    def path(p: 'QLibraryInfo.LibraryPath') -> str: ...
    @staticmethod
    def isSharedBuild() -> bool: ...
    @staticmethod
    def isDebugBuild() -> bool: ...


class QLine(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, pt1_: 'QPoint', pt2_: 'QPoint') -> None: ...
    @typing.overload
    def __init__(self, x1pos: int, y1pos: int, x2pos: int, y2pos: int) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QLine') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def toLineF(self) -> 'QLineF': ...
    def center(self) -> 'QPoint': ...
    def setLine(self, aX1: int, aY1: int, aX2: int, aY2: int) -> None: ...
    def setPoints(self, aP1: 'QPoint', aP2: 'QPoint') -> None: ...
    def setP2(self, aP2: 'QPoint') -> None: ...
    def setP1(self, aP1: 'QPoint') -> None: ...
    @typing.overload
    def translated(self, p: 'QPoint') -> 'QLine': ...
    @typing.overload
    def translated(self, adx: int, ady: int) -> 'QLine': ...
    @typing.overload
    def translate(self, point: 'QPoint') -> None: ...
    @typing.overload
    def translate(self, adx: int, ady: int) -> None: ...
    def dy(self) -> int: ...
    def dx(self) -> int: ...
    def p2(self) -> 'QPoint': ...
    def p1(self) -> 'QPoint': ...
    def y2(self) -> int: ...
    def x2(self) -> int: ...
    def y1(self) -> int: ...
    def x1(self) -> int: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...


class QLineF(PyQt6.sip.simplewrapper):

    class IntersectionType(enum.Enum):
        NoIntersection = ... # type: QLineF.IntersectionType
        BoundedIntersection = ... # type: QLineF.IntersectionType
        UnboundedIntersection = ... # type: QLineF.IntersectionType

    @typing.overload
    def __init__(self, line: QLine) -> None: ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, apt1: 'QPointF', apt2: 'QPointF') -> None: ...
    @typing.overload
    def __init__(self, x1pos: float, y1pos: float, x2pos: float, y2pos: float) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QLineF') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def center(self) -> 'QPointF': ...
    def setLine(self, aX1: float, aY1: float, aX2: float, aY2: float) -> None: ...
    def setPoints(self, aP1: 'QPointF', aP2: 'QPointF') -> None: ...
    def setP2(self, aP2: 'QPointF') -> None: ...
    def setP1(self, aP1: 'QPointF') -> None: ...
    @typing.overload
    def translated(self, p: 'QPointF') -> 'QLineF': ...
    @typing.overload
    def translated(self, adx: float, ady: float) -> 'QLineF': ...
    def angleTo(self, l: 'QLineF') -> float: ...
    def setAngle(self, angle: float) -> None: ...
    def angle(self) -> float: ...
    @staticmethod
    def fromPolar(length: float, angle: float) -> 'QLineF': ...
    def toLine(self) -> QLine: ...
    def pointAt(self, t: float) -> 'QPointF': ...
    def setLength(self, len: float) -> None: ...
    @typing.overload
    def translate(self, point: 'QPointF') -> None: ...
    @typing.overload
    def translate(self, adx: float, ady: float) -> None: ...
    def normalVector(self) -> 'QLineF': ...
    def dy(self) -> float: ...
    def dx(self) -> float: ...
    def p2(self) -> 'QPointF': ...
    def p1(self) -> 'QPointF': ...
    def y2(self) -> float: ...
    def x2(self) -> float: ...
    def y1(self) -> float: ...
    def x1(self) -> float: ...
    def __repr__(self) -> str: ...
    def intersects(self, l: 'QLineF') -> typing.Tuple['QLineF.IntersectionType', typing.Optional['QPointF']]: ...
    def unitVector(self) -> 'QLineF': ...
    def length(self) -> float: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...


class QLocale(PyQt6.sip.simplewrapper):

    class LanguageCodeType(enum.IntFlag):
        ISO639Part1 = ... # type: QLocale.LanguageCodeType
        ISO639Part2B = ... # type: QLocale.LanguageCodeType
        ISO639Part2T = ... # type: QLocale.LanguageCodeType
        ISO639Part3 = ... # type: QLocale.LanguageCodeType
        LegacyLanguageCode = ... # type: QLocale.LanguageCodeType
        ISO639Part2 = ... # type: QLocale.LanguageCodeType
        ISO639Alpha2 = ... # type: QLocale.LanguageCodeType
        ISO639Alpha3 = ... # type: QLocale.LanguageCodeType
        ISO639 = ... # type: QLocale.LanguageCodeType
        AnyLanguageCode = ... # type: QLocale.LanguageCodeType

    class DataSizeFormat(enum.Flag):
        DataSizeIecFormat = ... # type: QLocale.DataSizeFormat
        DataSizeTraditionalFormat = ... # type: QLocale.DataSizeFormat
        DataSizeSIFormat = ... # type: QLocale.DataSizeFormat

    class FloatingPointPrecisionOption(enum.IntEnum):
        FloatingPointShortest = ... # type: QLocale.FloatingPointPrecisionOption

    class QuotationStyle(enum.Enum):
        StandardQuotation = ... # type: QLocale.QuotationStyle
        AlternateQuotation = ... # type: QLocale.QuotationStyle

    class CurrencySymbolFormat(enum.Enum):
        CurrencyIsoCode = ... # type: QLocale.CurrencySymbolFormat
        CurrencySymbol = ... # type: QLocale.CurrencySymbolFormat
        CurrencyDisplayName = ... # type: QLocale.CurrencySymbolFormat

    class Script(enum.Enum):
        AnyScript = ... # type: QLocale.Script
        ArabicScript = ... # type: QLocale.Script
        CyrillicScript = ... # type: QLocale.Script
        DeseretScript = ... # type: QLocale.Script
        GurmukhiScript = ... # type: QLocale.Script
        SimplifiedHanScript = ... # type: QLocale.Script
        TraditionalHanScript = ... # type: QLocale.Script
        LatinScript = ... # type: QLocale.Script
        MongolianScript = ... # type: QLocale.Script
        TifinaghScript = ... # type: QLocale.Script
        SimplifiedChineseScript = ... # type: QLocale.Script
        TraditionalChineseScript = ... # type: QLocale.Script
        ArmenianScript = ... # type: QLocale.Script
        BengaliScript = ... # type: QLocale.Script
        CherokeeScript = ... # type: QLocale.Script
        DevanagariScript = ... # type: QLocale.Script
        EthiopicScript = ... # type: QLocale.Script
        GeorgianScript = ... # type: QLocale.Script
        GreekScript = ... # type: QLocale.Script
        GujaratiScript = ... # type: QLocale.Script
        HebrewScript = ... # type: QLocale.Script
        JapaneseScript = ... # type: QLocale.Script
        KhmerScript = ... # type: QLocale.Script
        KannadaScript = ... # type: QLocale.Script
        KoreanScript = ... # type: QLocale.Script
        LaoScript = ... # type: QLocale.Script
        MalayalamScript = ... # type: QLocale.Script
        MyanmarScript = ... # type: QLocale.Script
        OriyaScript = ... # type: QLocale.Script
        TamilScript = ... # type: QLocale.Script
        TeluguScript = ... # type: QLocale.Script
        ThaanaScript = ... # type: QLocale.Script
        ThaiScript = ... # type: QLocale.Script
        TibetanScript = ... # type: QLocale.Script
        SinhalaScript = ... # type: QLocale.Script
        SyriacScript = ... # type: QLocale.Script
        YiScript = ... # type: QLocale.Script
        VaiScript = ... # type: QLocale.Script
        AvestanScript = ... # type: QLocale.Script
        BalineseScript = ... # type: QLocale.Script
        BamumScript = ... # type: QLocale.Script
        BatakScript = ... # type: QLocale.Script
        BopomofoScript = ... # type: QLocale.Script
        BrahmiScript = ... # type: QLocale.Script
        BugineseScript = ... # type: QLocale.Script
        BuhidScript = ... # type: QLocale.Script
        CanadianAboriginalScript = ... # type: QLocale.Script
        CarianScript = ... # type: QLocale.Script
        ChakmaScript = ... # type: QLocale.Script
        ChamScript = ... # type: QLocale.Script
        CopticScript = ... # type: QLocale.Script
        CypriotScript = ... # type: QLocale.Script
        EgyptianHieroglyphsScript = ... # type: QLocale.Script
        FraserScript = ... # type: QLocale.Script
        GlagoliticScript = ... # type: QLocale.Script
        GothicScript = ... # type: QLocale.Script
        HanScript = ... # type: QLocale.Script
        HangulScript = ... # type: QLocale.Script
        HanunooScript = ... # type: QLocale.Script
        ImperialAramaicScript = ... # type: QLocale.Script
        InscriptionalPahlaviScript = ... # type: QLocale.Script
        InscriptionalParthianScript = ... # type: QLocale.Script
        JavaneseScript = ... # type: QLocale.Script
        KaithiScript = ... # type: QLocale.Script
        KatakanaScript = ... # type: QLocale.Script
        KayahLiScript = ... # type: QLocale.Script
        KharoshthiScript = ... # type: QLocale.Script
        LannaScript = ... # type: QLocale.Script
        LepchaScript = ... # type: QLocale.Script
        LimbuScript = ... # type: QLocale.Script
        LinearBScript = ... # type: QLocale.Script
        LycianScript = ... # type: QLocale.Script
        LydianScript = ... # type: QLocale.Script
        MandaeanScript = ... # type: QLocale.Script
        MeiteiMayekScript = ... # type: QLocale.Script
        MeroiticScript = ... # type: QLocale.Script
        MeroiticCursiveScript = ... # type: QLocale.Script
        NkoScript = ... # type: QLocale.Script
        NewTaiLueScript = ... # type: QLocale.Script
        OghamScript = ... # type: QLocale.Script
        OlChikiScript = ... # type: QLocale.Script
        OldItalicScript = ... # type: QLocale.Script
        OldPersianScript = ... # type: QLocale.Script
        OldSouthArabianScript = ... # type: QLocale.Script
        OrkhonScript = ... # type: QLocale.Script
        OsmanyaScript = ... # type: QLocale.Script
        PhagsPaScript = ... # type: QLocale.Script
        PhoenicianScript = ... # type: QLocale.Script
        PollardPhoneticScript = ... # type: QLocale.Script
        RejangScript = ... # type: QLocale.Script
        RunicScript = ... # type: QLocale.Script
        SamaritanScript = ... # type: QLocale.Script
        SaurashtraScript = ... # type: QLocale.Script
        SharadaScript = ... # type: QLocale.Script
        ShavianScript = ... # type: QLocale.Script
        SoraSompengScript = ... # type: QLocale.Script
        CuneiformScript = ... # type: QLocale.Script
        SundaneseScript = ... # type: QLocale.Script
        SylotiNagriScript = ... # type: QLocale.Script
        TagalogScript = ... # type: QLocale.Script
        TagbanwaScript = ... # type: QLocale.Script
        TaiLeScript = ... # type: QLocale.Script
        TaiVietScript = ... # type: QLocale.Script
        TakriScript = ... # type: QLocale.Script
        UgariticScript = ... # type: QLocale.Script
        BrailleScript = ... # type: QLocale.Script
        HiraganaScript = ... # type: QLocale.Script
        CaucasianAlbanianScript = ... # type: QLocale.Script
        BassaVahScript = ... # type: QLocale.Script
        DuployanScript = ... # type: QLocale.Script
        ElbasanScript = ... # type: QLocale.Script
        GranthaScript = ... # type: QLocale.Script
        PahawhHmongScript = ... # type: QLocale.Script
        KhojkiScript = ... # type: QLocale.Script
        LinearAScript = ... # type: QLocale.Script
        MahajaniScript = ... # type: QLocale.Script
        ManichaeanScript = ... # type: QLocale.Script
        MendeKikakuiScript = ... # type: QLocale.Script
        ModiScript = ... # type: QLocale.Script
        MroScript = ... # type: QLocale.Script
        OldNorthArabianScript = ... # type: QLocale.Script
        NabataeanScript = ... # type: QLocale.Script
        PalmyreneScript = ... # type: QLocale.Script
        PauCinHauScript = ... # type: QLocale.Script
        OldPermicScript = ... # type: QLocale.Script
        PsalterPahlaviScript = ... # type: QLocale.Script
        SiddhamScript = ... # type: QLocale.Script
        KhudawadiScript = ... # type: QLocale.Script
        TirhutaScript = ... # type: QLocale.Script
        VarangKshitiScript = ... # type: QLocale.Script
        AhomScript = ... # type: QLocale.Script
        AnatolianHieroglyphsScript = ... # type: QLocale.Script
        HatranScript = ... # type: QLocale.Script
        MultaniScript = ... # type: QLocale.Script
        OldHungarianScript = ... # type: QLocale.Script
        SignWritingScript = ... # type: QLocale.Script
        AdlamScript = ... # type: QLocale.Script
        BhaiksukiScript = ... # type: QLocale.Script
        MarchenScript = ... # type: QLocale.Script
        NewaScript = ... # type: QLocale.Script
        OsageScript = ... # type: QLocale.Script
        TangutScript = ... # type: QLocale.Script
        HanWithBopomofoScript = ... # type: QLocale.Script
        JamoScript = ... # type: QLocale.Script
        BanglaScript = ... # type: QLocale.Script
        MendeScript = ... # type: QLocale.Script
        OdiaScript = ... # type: QLocale.Script
        HanifiScript = ... # type: QLocale.Script

    class MeasurementSystem(enum.Enum):
        MetricSystem = ... # type: QLocale.MeasurementSystem
        ImperialSystem = ... # type: QLocale.MeasurementSystem
        ImperialUSSystem = ... # type: QLocale.MeasurementSystem
        ImperialUKSystem = ... # type: QLocale.MeasurementSystem

    class FormatType(enum.Enum):
        LongFormat = ... # type: QLocale.FormatType
        ShortFormat = ... # type: QLocale.FormatType
        NarrowFormat = ... # type: QLocale.FormatType

    class TagSeparator(enum.Enum):
        Dash = ... # type: QLocale.TagSeparator
        Underscore = ... # type: QLocale.TagSeparator

    class NumberOption(enum.Flag):
        OmitGroupSeparator = ... # type: QLocale.NumberOption
        RejectGroupSeparator = ... # type: QLocale.NumberOption
        DefaultNumberOptions = ... # type: QLocale.NumberOption
        OmitLeadingZeroInExponent = ... # type: QLocale.NumberOption
        RejectLeadingZeroInExponent = ... # type: QLocale.NumberOption
        IncludeTrailingZeroesAfterDot = ... # type: QLocale.NumberOption
        RejectTrailingZeroesAfterDot = ... # type: QLocale.NumberOption

    class Country(enum.Enum):
        AnyCountry = ... # type: QLocale.Country
        AnyTerritory = ... # type: QLocale.Country
        Afghanistan = ... # type: QLocale.Country
        Albania = ... # type: QLocale.Country
        Algeria = ... # type: QLocale.Country
        AmericanSamoa = ... # type: QLocale.Country
        Andorra = ... # type: QLocale.Country
        Angola = ... # type: QLocale.Country
        Anguilla = ... # type: QLocale.Country
        Antarctica = ... # type: QLocale.Country
        AntiguaAndBarbuda = ... # type: QLocale.Country
        Argentina = ... # type: QLocale.Country
        Armenia = ... # type: QLocale.Country
        Aruba = ... # type: QLocale.Country
        Australia = ... # type: QLocale.Country
        Austria = ... # type: QLocale.Country
        Azerbaijan = ... # type: QLocale.Country
        Bahamas = ... # type: QLocale.Country
        Bahrain = ... # type: QLocale.Country
        Bangladesh = ... # type: QLocale.Country
        Barbados = ... # type: QLocale.Country
        Belarus = ... # type: QLocale.Country
        Belgium = ... # type: QLocale.Country
        Belize = ... # type: QLocale.Country
        Benin = ... # type: QLocale.Country
        Bermuda = ... # type: QLocale.Country
        Bhutan = ... # type: QLocale.Country
        Bolivia = ... # type: QLocale.Country
        BosniaAndHerzegowina = ... # type: QLocale.Country
        Botswana = ... # type: QLocale.Country
        BouvetIsland = ... # type: QLocale.Country
        Brazil = ... # type: QLocale.Country
        BritishIndianOceanTerritory = ... # type: QLocale.Country
        Bulgaria = ... # type: QLocale.Country
        BurkinaFaso = ... # type: QLocale.Country
        Burundi = ... # type: QLocale.Country
        Cambodia = ... # type: QLocale.Country
        Cameroon = ... # type: QLocale.Country
        Canada = ... # type: QLocale.Country
        CapeVerde = ... # type: QLocale.Country
        CaymanIslands = ... # type: QLocale.Country
        CentralAfricanRepublic = ... # type: QLocale.Country
        Chad = ... # type: QLocale.Country
        Chile = ... # type: QLocale.Country
        China = ... # type: QLocale.Country
        ChristmasIsland = ... # type: QLocale.Country
        CocosIslands = ... # type: QLocale.Country
        Colombia = ... # type: QLocale.Country
        Comoros = ... # type: QLocale.Country
        DemocraticRepublicOfCongo = ... # type: QLocale.Country
        PeoplesRepublicOfCongo = ... # type: QLocale.Country
        CookIslands = ... # type: QLocale.Country
        CostaRica = ... # type: QLocale.Country
        IvoryCoast = ... # type: QLocale.Country
        Croatia = ... # type: QLocale.Country
        Cuba = ... # type: QLocale.Country
        Cyprus = ... # type: QLocale.Country
        CzechRepublic = ... # type: QLocale.Country
        Denmark = ... # type: QLocale.Country
        Djibouti = ... # type: QLocale.Country
        Dominica = ... # type: QLocale.Country
        DominicanRepublic = ... # type: QLocale.Country
        EastTimor = ... # type: QLocale.Country
        Ecuador = ... # type: QLocale.Country
        Egypt = ... # type: QLocale.Country
        ElSalvador = ... # type: QLocale.Country
        EquatorialGuinea = ... # type: QLocale.Country
        Eritrea = ... # type: QLocale.Country
        Estonia = ... # type: QLocale.Country
        Ethiopia = ... # type: QLocale.Country
        FalklandIslands = ... # type: QLocale.Country
        FaroeIslands = ... # type: QLocale.Country
        Finland = ... # type: QLocale.Country
        France = ... # type: QLocale.Country
        FrenchGuiana = ... # type: QLocale.Country
        FrenchPolynesia = ... # type: QLocale.Country
        FrenchSouthernTerritories = ... # type: QLocale.Country
        Gabon = ... # type: QLocale.Country
        Gambia = ... # type: QLocale.Country
        Georgia = ... # type: QLocale.Country
        Germany = ... # type: QLocale.Country
        Ghana = ... # type: QLocale.Country
        Gibraltar = ... # type: QLocale.Country
        Greece = ... # type: QLocale.Country
        Greenland = ... # type: QLocale.Country
        Grenada = ... # type: QLocale.Country
        Guadeloupe = ... # type: QLocale.Country
        Guam = ... # type: QLocale.Country
        Guatemala = ... # type: QLocale.Country
        Guinea = ... # type: QLocale.Country
        GuineaBissau = ... # type: QLocale.Country
        Guyana = ... # type: QLocale.Country
        Haiti = ... # type: QLocale.Country
        HeardAndMcDonaldIslands = ... # type: QLocale.Country
        Honduras = ... # type: QLocale.Country
        HongKong = ... # type: QLocale.Country
        Hungary = ... # type: QLocale.Country
        Iceland = ... # type: QLocale.Country
        India = ... # type: QLocale.Country
        Indonesia = ... # type: QLocale.Country
        Iran = ... # type: QLocale.Country
        Iraq = ... # type: QLocale.Country
        Ireland = ... # type: QLocale.Country
        Israel = ... # type: QLocale.Country
        Italy = ... # type: QLocale.Country
        Jamaica = ... # type: QLocale.Country
        Japan = ... # type: QLocale.Country
        Jordan = ... # type: QLocale.Country
        Kazakhstan = ... # type: QLocale.Country
        Kenya = ... # type: QLocale.Country
        Kiribati = ... # type: QLocale.Country
        DemocraticRepublicOfKorea = ... # type: QLocale.Country
        RepublicOfKorea = ... # type: QLocale.Country
        Kuwait = ... # type: QLocale.Country
        Kyrgyzstan = ... # type: QLocale.Country
        Latvia = ... # type: QLocale.Country
        Lebanon = ... # type: QLocale.Country
        Lesotho = ... # type: QLocale.Country
        Liberia = ... # type: QLocale.Country
        Liechtenstein = ... # type: QLocale.Country
        Lithuania = ... # type: QLocale.Country
        Luxembourg = ... # type: QLocale.Country
        Macau = ... # type: QLocale.Country
        Macedonia = ... # type: QLocale.Country
        Madagascar = ... # type: QLocale.Country
        Malawi = ... # type: QLocale.Country
        Malaysia = ... # type: QLocale.Country
        Maldives = ... # type: QLocale.Country
        Mali = ... # type: QLocale.Country
        Malta = ... # type: QLocale.Country
        MarshallIslands = ... # type: QLocale.Country
        Martinique = ... # type: QLocale.Country
        Mauritania = ... # type: QLocale.Country
        Mauritius = ... # type: QLocale.Country
        Mayotte = ... # type: QLocale.Country
        Mexico = ... # type: QLocale.Country
        Micronesia = ... # type: QLocale.Country
        Moldova = ... # type: QLocale.Country
        Monaco = ... # type: QLocale.Country
        Mongolia = ... # type: QLocale.Country
        Montserrat = ... # type: QLocale.Country
        Morocco = ... # type: QLocale.Country
        Mozambique = ... # type: QLocale.Country
        Myanmar = ... # type: QLocale.Country
        Namibia = ... # type: QLocale.Country
        NauruCountry = ... # type: QLocale.Country
        Nepal = ... # type: QLocale.Country
        Netherlands = ... # type: QLocale.Country
        NewCaledonia = ... # type: QLocale.Country
        NewZealand = ... # type: QLocale.Country
        Nicaragua = ... # type: QLocale.Country
        Niger = ... # type: QLocale.Country
        Nigeria = ... # type: QLocale.Country
        Niue = ... # type: QLocale.Country
        NorfolkIsland = ... # type: QLocale.Country
        NorthernMarianaIslands = ... # type: QLocale.Country
        Norway = ... # type: QLocale.Country
        Oman = ... # type: QLocale.Country
        Pakistan = ... # type: QLocale.Country
        Palau = ... # type: QLocale.Country
        Panama = ... # type: QLocale.Country
        PapuaNewGuinea = ... # type: QLocale.Country
        Paraguay = ... # type: QLocale.Country
        Peru = ... # type: QLocale.Country
        Philippines = ... # type: QLocale.Country
        Pitcairn = ... # type: QLocale.Country
        Poland = ... # type: QLocale.Country
        Portugal = ... # type: QLocale.Country
        PuertoRico = ... # type: QLocale.Country
        Qatar = ... # type: QLocale.Country
        Reunion = ... # type: QLocale.Country
        Romania = ... # type: QLocale.Country
        RussianFederation = ... # type: QLocale.Country
        Rwanda = ... # type: QLocale.Country
        SaintKittsAndNevis = ... # type: QLocale.Country
        Samoa = ... # type: QLocale.Country
        SanMarino = ... # type: QLocale.Country
        SaoTomeAndPrincipe = ... # type: QLocale.Country
        SaudiArabia = ... # type: QLocale.Country
        Senegal = ... # type: QLocale.Country
        Seychelles = ... # type: QLocale.Country
        SierraLeone = ... # type: QLocale.Country
        Singapore = ... # type: QLocale.Country
        Slovakia = ... # type: QLocale.Country
        Slovenia = ... # type: QLocale.Country
        SolomonIslands = ... # type: QLocale.Country
        Somalia = ... # type: QLocale.Country
        SouthAfrica = ... # type: QLocale.Country
        SouthGeorgiaAndTheSouthSandwichIslands = ... # type: QLocale.Country
        Spain = ... # type: QLocale.Country
        SriLanka = ... # type: QLocale.Country
        Sudan = ... # type: QLocale.Country
        Suriname = ... # type: QLocale.Country
        SvalbardAndJanMayenIslands = ... # type: QLocale.Country
        Swaziland = ... # type: QLocale.Country
        Sweden = ... # type: QLocale.Country
        Switzerland = ... # type: QLocale.Country
        SyrianArabRepublic = ... # type: QLocale.Country
        Taiwan = ... # type: QLocale.Country
        Tajikistan = ... # type: QLocale.Country
        Tanzania = ... # type: QLocale.Country
        Thailand = ... # type: QLocale.Country
        Togo = ... # type: QLocale.Country
        TrinidadAndTobago = ... # type: QLocale.Country
        Tunisia = ... # type: QLocale.Country
        Turkey = ... # type: QLocale.Country
        Turkmenistan = ... # type: QLocale.Country
        TurksAndCaicosIslands = ... # type: QLocale.Country
        Uganda = ... # type: QLocale.Country
        Ukraine = ... # type: QLocale.Country
        UnitedArabEmirates = ... # type: QLocale.Country
        UnitedKingdom = ... # type: QLocale.Country
        UnitedStates = ... # type: QLocale.Country
        UnitedStatesMinorOutlyingIslands = ... # type: QLocale.Country
        Uruguay = ... # type: QLocale.Country
        Uzbekistan = ... # type: QLocale.Country
        Vanuatu = ... # type: QLocale.Country
        VaticanCityState = ... # type: QLocale.Country
        Venezuela = ... # type: QLocale.Country
        BritishVirginIslands = ... # type: QLocale.Country
        WallisAndFutunaIslands = ... # type: QLocale.Country
        WesternSahara = ... # type: QLocale.Country
        Yemen = ... # type: QLocale.Country
        Zambia = ... # type: QLocale.Country
        Zimbabwe = ... # type: QLocale.Country
        Montenegro = ... # type: QLocale.Country
        Serbia = ... # type: QLocale.Country
        SaintBarthelemy = ... # type: QLocale.Country
        SaintMartin = ... # type: QLocale.Country
        LatinAmericaAndTheCaribbean = ... # type: QLocale.Country
        LastCountry = ... # type: QLocale.Country
        Brunei = ... # type: QLocale.Country
        CongoKinshasa = ... # type: QLocale.Country
        CongoBrazzaville = ... # type: QLocale.Country
        Fiji = ... # type: QLocale.Country
        Guernsey = ... # type: QLocale.Country
        NorthKorea = ... # type: QLocale.Country
        SouthKorea = ... # type: QLocale.Country
        Laos = ... # type: QLocale.Country
        Libya = ... # type: QLocale.Country
        CuraSao = ... # type: QLocale.Country
        PalestinianTerritories = ... # type: QLocale.Country
        Russia = ... # type: QLocale.Country
        SaintLucia = ... # type: QLocale.Country
        SaintVincentAndTheGrenadines = ... # type: QLocale.Country
        SaintHelena = ... # type: QLocale.Country
        SaintPierreAndMiquelon = ... # type: QLocale.Country
        Syria = ... # type: QLocale.Country
        Tonga = ... # type: QLocale.Country
        Vietnam = ... # type: QLocale.Country
        UnitedStatesVirginIslands = ... # type: QLocale.Country
        CanaryIslands = ... # type: QLocale.Country
        ClippertonIsland = ... # type: QLocale.Country
        AscensionIsland = ... # type: QLocale.Country
        AlandIslands = ... # type: QLocale.Country
        DiegoGarcia = ... # type: QLocale.Country
        CeutaAndMelilla = ... # type: QLocale.Country
        IsleOfMan = ... # type: QLocale.Country
        Jersey = ... # type: QLocale.Country
        TristanDaCunha = ... # type: QLocale.Country
        SouthSudan = ... # type: QLocale.Country
        Bonaire = ... # type: QLocale.Country
        SintMaarten = ... # type: QLocale.Country
        Kosovo = ... # type: QLocale.Country
        TokelauCountry = ... # type: QLocale.Country
        TuvaluCountry = ... # type: QLocale.Country
        EuropeanUnion = ... # type: QLocale.Country
        OutlyingOceania = ... # type: QLocale.Country
        LatinAmerica = ... # type: QLocale.Country
        World = ... # type: QLocale.Country
        Europe = ... # type: QLocale.Country
        BosniaAndHerzegovina = ... # type: QLocale.Country
        CaribbeanNetherlands = ... # type: QLocale.Country
        Curacao = ... # type: QLocale.Country
        Czechia = ... # type: QLocale.Country
        Eswatini = ... # type: QLocale.Country
        Macao = ... # type: QLocale.Country
        SaintVincentAndGrenadines = ... # type: QLocale.Country
        SouthGeorgiaAndSouthSandwichIslands = ... # type: QLocale.Country
        SvalbardAndJanMayen = ... # type: QLocale.Country
        TimorLeste = ... # type: QLocale.Country
        UnitedStatesOutlyingIslands = ... # type: QLocale.Country
        VaticanCity = ... # type: QLocale.Country
        WallisAndFutuna = ... # type: QLocale.Country
        NauruTerritory = ... # type: QLocale.Country
        TokelauTerritory = ... # type: QLocale.Country
        TuvaluTerritory = ... # type: QLocale.Country

    class Language(enum.Enum):
        C = ... # type: QLocale.Language
        Abkhazian = ... # type: QLocale.Language
        Afan = ... # type: QLocale.Language
        Afar = ... # type: QLocale.Language
        Afrikaans = ... # type: QLocale.Language
        Albanian = ... # type: QLocale.Language
        Amharic = ... # type: QLocale.Language
        Arabic = ... # type: QLocale.Language
        Armenian = ... # type: QLocale.Language
        Assamese = ... # type: QLocale.Language
        Aymara = ... # type: QLocale.Language
        Azerbaijani = ... # type: QLocale.Language
        Bashkir = ... # type: QLocale.Language
        Basque = ... # type: QLocale.Language
        Bengali = ... # type: QLocale.Language
        Bhutani = ... # type: QLocale.Language
        Bislama = ... # type: QLocale.Language
        Breton = ... # type: QLocale.Language
        Bulgarian = ... # type: QLocale.Language
        Burmese = ... # type: QLocale.Language
        Byelorussian = ... # type: QLocale.Language
        Cambodian = ... # type: QLocale.Language
        Catalan = ... # type: QLocale.Language
        Chinese = ... # type: QLocale.Language
        Corsican = ... # type: QLocale.Language
        Croatian = ... # type: QLocale.Language
        Czech = ... # type: QLocale.Language
        Danish = ... # type: QLocale.Language
        Dutch = ... # type: QLocale.Language
        English = ... # type: QLocale.Language
        Esperanto = ... # type: QLocale.Language
        Estonian = ... # type: QLocale.Language
        Faroese = ... # type: QLocale.Language
        Finnish = ... # type: QLocale.Language
        French = ... # type: QLocale.Language
        Frisian = ... # type: QLocale.Language
        Gaelic = ... # type: QLocale.Language
        Galician = ... # type: QLocale.Language
        Georgian = ... # type: QLocale.Language
        German = ... # type: QLocale.Language
        Greek = ... # type: QLocale.Language
        Greenlandic = ... # type: QLocale.Language
        Guarani = ... # type: QLocale.Language
        Gujarati = ... # type: QLocale.Language
        Hausa = ... # type: QLocale.Language
        Hebrew = ... # type: QLocale.Language
        Hindi = ... # type: QLocale.Language
        Hungarian = ... # type: QLocale.Language
        Icelandic = ... # type: QLocale.Language
        Indonesian = ... # type: QLocale.Language
        Interlingua = ... # type: QLocale.Language
        Interlingue = ... # type: QLocale.Language
        Inuktitut = ... # type: QLocale.Language
        Inupiak = ... # type: QLocale.Language
        Irish = ... # type: QLocale.Language
        Italian = ... # type: QLocale.Language
        Japanese = ... # type: QLocale.Language
        Javanese = ... # type: QLocale.Language
        Kannada = ... # type: QLocale.Language
        Kashmiri = ... # type: QLocale.Language
        Kazakh = ... # type: QLocale.Language
        Kinyarwanda = ... # type: QLocale.Language
        Kirghiz = ... # type: QLocale.Language
        Korean = ... # type: QLocale.Language
        Kurdish = ... # type: QLocale.Language
        Kurundi = ... # type: QLocale.Language
        Latin = ... # type: QLocale.Language
        Latvian = ... # type: QLocale.Language
        Lingala = ... # type: QLocale.Language
        Lithuanian = ... # type: QLocale.Language
        Macedonian = ... # type: QLocale.Language
        Malagasy = ... # type: QLocale.Language
        Malay = ... # type: QLocale.Language
        Malayalam = ... # type: QLocale.Language
        Maltese = ... # type: QLocale.Language
        Maori = ... # type: QLocale.Language
        Marathi = ... # type: QLocale.Language
        Mongolian = ... # type: QLocale.Language
        NauruLanguage = ... # type: QLocale.Language
        Nepali = ... # type: QLocale.Language
        Occitan = ... # type: QLocale.Language
        Oriya = ... # type: QLocale.Language
        Pashto = ... # type: QLocale.Language
        Persian = ... # type: QLocale.Language
        Polish = ... # type: QLocale.Language
        Portuguese = ... # type: QLocale.Language
        Punjabi = ... # type: QLocale.Language
        Quechua = ... # type: QLocale.Language
        RhaetoRomance = ... # type: QLocale.Language
        Romanian = ... # type: QLocale.Language
        Russian = ... # type: QLocale.Language
        Samoan = ... # type: QLocale.Language
        Sanskrit = ... # type: QLocale.Language
        Serbian = ... # type: QLocale.Language
        Shona = ... # type: QLocale.Language
        Sindhi = ... # type: QLocale.Language
        Slovak = ... # type: QLocale.Language
        Slovenian = ... # type: QLocale.Language
        Somali = ... # type: QLocale.Language
        Spanish = ... # type: QLocale.Language
        Sundanese = ... # type: QLocale.Language
        Swahili = ... # type: QLocale.Language
        Swedish = ... # type: QLocale.Language
        Tajik = ... # type: QLocale.Language
        Tamil = ... # type: QLocale.Language
        Tatar = ... # type: QLocale.Language
        Telugu = ... # type: QLocale.Language
        Thai = ... # type: QLocale.Language
        Tibetan = ... # type: QLocale.Language
        Tigrinya = ... # type: QLocale.Language
        Tsonga = ... # type: QLocale.Language
        Turkish = ... # type: QLocale.Language
        Turkmen = ... # type: QLocale.Language
        Uigur = ... # type: QLocale.Language
        Ukrainian = ... # type: QLocale.Language
        Urdu = ... # type: QLocale.Language
        Uzbek = ... # type: QLocale.Language
        Vietnamese = ... # type: QLocale.Language
        Volapuk = ... # type: QLocale.Language
        Welsh = ... # type: QLocale.Language
        Wolof = ... # type: QLocale.Language
        Xhosa = ... # type: QLocale.Language
        Yiddish = ... # type: QLocale.Language
        Yoruba = ... # type: QLocale.Language
        Zhuang = ... # type: QLocale.Language
        Zulu = ... # type: QLocale.Language
        Bosnian = ... # type: QLocale.Language
        Divehi = ... # type: QLocale.Language
        Manx = ... # type: QLocale.Language
        Cornish = ... # type: QLocale.Language
        LastLanguage = ... # type: QLocale.Language
        NorwegianBokmal = ... # type: QLocale.Language
        NorwegianNynorsk = ... # type: QLocale.Language
        Akan = ... # type: QLocale.Language
        Konkani = ... # type: QLocale.Language
        Ga = ... # type: QLocale.Language
        Igbo = ... # type: QLocale.Language
        Kamba = ... # type: QLocale.Language
        Syriac = ... # type: QLocale.Language
        Blin = ... # type: QLocale.Language
        Geez = ... # type: QLocale.Language
        Koro = ... # type: QLocale.Language
        Sidamo = ... # type: QLocale.Language
        Atsam = ... # type: QLocale.Language
        Tigre = ... # type: QLocale.Language
        Jju = ... # type: QLocale.Language
        Friulian = ... # type: QLocale.Language
        Venda = ... # type: QLocale.Language
        Ewe = ... # type: QLocale.Language
        Walamo = ... # type: QLocale.Language
        Hawaiian = ... # type: QLocale.Language
        Tyap = ... # type: QLocale.Language
        Chewa = ... # type: QLocale.Language
        Filipino = ... # type: QLocale.Language
        SwissGerman = ... # type: QLocale.Language
        SichuanYi = ... # type: QLocale.Language
        Kpelle = ... # type: QLocale.Language
        LowGerman = ... # type: QLocale.Language
        SouthNdebele = ... # type: QLocale.Language
        NorthernSotho = ... # type: QLocale.Language
        NorthernSami = ... # type: QLocale.Language
        Taroko = ... # type: QLocale.Language
        Gusii = ... # type: QLocale.Language
        Taita = ... # type: QLocale.Language
        Fulah = ... # type: QLocale.Language
        Kikuyu = ... # type: QLocale.Language
        Samburu = ... # type: QLocale.Language
        Sena = ... # type: QLocale.Language
        NorthNdebele = ... # type: QLocale.Language
        Rombo = ... # type: QLocale.Language
        Tachelhit = ... # type: QLocale.Language
        Kabyle = ... # type: QLocale.Language
        Nyankole = ... # type: QLocale.Language
        Bena = ... # type: QLocale.Language
        Vunjo = ... # type: QLocale.Language
        Bambara = ... # type: QLocale.Language
        Embu = ... # type: QLocale.Language
        Cherokee = ... # type: QLocale.Language
        Morisyen = ... # type: QLocale.Language
        Makonde = ... # type: QLocale.Language
        Langi = ... # type: QLocale.Language
        Ganda = ... # type: QLocale.Language
        Bemba = ... # type: QLocale.Language
        Kabuverdianu = ... # type: QLocale.Language
        Meru = ... # type: QLocale.Language
        Kalenjin = ... # type: QLocale.Language
        Nama = ... # type: QLocale.Language
        Machame = ... # type: QLocale.Language
        Colognian = ... # type: QLocale.Language
        Masai = ... # type: QLocale.Language
        Soga = ... # type: QLocale.Language
        Luyia = ... # type: QLocale.Language
        Asu = ... # type: QLocale.Language
        Teso = ... # type: QLocale.Language
        Saho = ... # type: QLocale.Language
        KoyraChiini = ... # type: QLocale.Language
        Rwa = ... # type: QLocale.Language
        Luo = ... # type: QLocale.Language
        Chiga = ... # type: QLocale.Language
        CentralMoroccoTamazight = ... # type: QLocale.Language
        KoyraboroSenni = ... # type: QLocale.Language
        Shambala = ... # type: QLocale.Language
        AnyLanguage = ... # type: QLocale.Language
        Rundi = ... # type: QLocale.Language
        Bodo = ... # type: QLocale.Language
        Aghem = ... # type: QLocale.Language
        Basaa = ... # type: QLocale.Language
        Zarma = ... # type: QLocale.Language
        Duala = ... # type: QLocale.Language
        JolaFonyi = ... # type: QLocale.Language
        Ewondo = ... # type: QLocale.Language
        Bafia = ... # type: QLocale.Language
        LubaKatanga = ... # type: QLocale.Language
        MakhuwaMeetto = ... # type: QLocale.Language
        Mundang = ... # type: QLocale.Language
        Kwasio = ... # type: QLocale.Language
        Nuer = ... # type: QLocale.Language
        Sakha = ... # type: QLocale.Language
        Sangu = ... # type: QLocale.Language
        Tasawaq = ... # type: QLocale.Language
        Vai = ... # type: QLocale.Language
        Walser = ... # type: QLocale.Language
        Yangben = ... # type: QLocale.Language
        Oromo = ... # type: QLocale.Language
        Dzongkha = ... # type: QLocale.Language
        Belarusian = ... # type: QLocale.Language
        Khmer = ... # type: QLocale.Language
        Fijian = ... # type: QLocale.Language
        WesternFrisian = ... # type: QLocale.Language
        Lao = ... # type: QLocale.Language
        Marshallese = ... # type: QLocale.Language
        Romansh = ... # type: QLocale.Language
        Sango = ... # type: QLocale.Language
        Ossetic = ... # type: QLocale.Language
        SouthernSotho = ... # type: QLocale.Language
        Tswana = ... # type: QLocale.Language
        Sinhala = ... # type: QLocale.Language
        Swati = ... # type: QLocale.Language
        Sardinian = ... # type: QLocale.Language
        Tongan = ... # type: QLocale.Language
        Tahitian = ... # type: QLocale.Language
        Nyanja = ... # type: QLocale.Language
        Avaric = ... # type: QLocale.Language
        Chamorro = ... # type: QLocale.Language
        Chechen = ... # type: QLocale.Language
        Church = ... # type: QLocale.Language
        Chuvash = ... # type: QLocale.Language
        Cree = ... # type: QLocale.Language
        Haitian = ... # type: QLocale.Language
        Herero = ... # type: QLocale.Language
        HiriMotu = ... # type: QLocale.Language
        Kanuri = ... # type: QLocale.Language
        Komi = ... # type: QLocale.Language
        Kongo = ... # type: QLocale.Language
        Kwanyama = ... # type: QLocale.Language
        Limburgish = ... # type: QLocale.Language
        Luxembourgish = ... # type: QLocale.Language
        Navaho = ... # type: QLocale.Language
        Ndonga = ... # type: QLocale.Language
        Ojibwa = ... # type: QLocale.Language
        Pali = ... # type: QLocale.Language
        Walloon = ... # type: QLocale.Language
        Avestan = ... # type: QLocale.Language
        Asturian = ... # type: QLocale.Language
        Ngomba = ... # type: QLocale.Language
        Kako = ... # type: QLocale.Language
        Meta = ... # type: QLocale.Language
        Ngiemboon = ... # type: QLocale.Language
        Uighur = ... # type: QLocale.Language
        Aragonese = ... # type: QLocale.Language
        Akkadian = ... # type: QLocale.Language
        AncientEgyptian = ... # type: QLocale.Language
        AncientGreek = ... # type: QLocale.Language
        Aramaic = ... # type: QLocale.Language
        Balinese = ... # type: QLocale.Language
        Bamun = ... # type: QLocale.Language
        BatakToba = ... # type: QLocale.Language
        Buginese = ... # type: QLocale.Language
        Chakma = ... # type: QLocale.Language
        Coptic = ... # type: QLocale.Language
        Dogri = ... # type: QLocale.Language
        Gothic = ... # type: QLocale.Language
        Ingush = ... # type: QLocale.Language
        Mandingo = ... # type: QLocale.Language
        Manipuri = ... # type: QLocale.Language
        OldIrish = ... # type: QLocale.Language
        OldNorse = ... # type: QLocale.Language
        OldPersian = ... # type: QLocale.Language
        Pahlavi = ... # type: QLocale.Language
        Phoenician = ... # type: QLocale.Language
        Santali = ... # type: QLocale.Language
        Saurashtra = ... # type: QLocale.Language
        TaiDam = ... # type: QLocale.Language
        Ugaritic = ... # type: QLocale.Language
        Akoose = ... # type: QLocale.Language
        Lakota = ... # type: QLocale.Language
        StandardMoroccanTamazight = ... # type: QLocale.Language
        Mapuche = ... # type: QLocale.Language
        CentralKurdish = ... # type: QLocale.Language
        LowerSorbian = ... # type: QLocale.Language
        UpperSorbian = ... # type: QLocale.Language
        Kenyang = ... # type: QLocale.Language
        Mohawk = ... # type: QLocale.Language
        Nko = ... # type: QLocale.Language
        Prussian = ... # type: QLocale.Language
        Kiche = ... # type: QLocale.Language
        SouthernSami = ... # type: QLocale.Language
        LuleSami = ... # type: QLocale.Language
        InariSami = ... # type: QLocale.Language
        SkoltSami = ... # type: QLocale.Language
        Warlpiri = ... # type: QLocale.Language
        Mende = ... # type: QLocale.Language
        Lezghian = ... # type: QLocale.Language
        Maithili = ... # type: QLocale.Language
        AmericanSignLanguage = ... # type: QLocale.Language
        Bhojpuri = ... # type: QLocale.Language
        LiteraryChinese = ... # type: QLocale.Language
        Mazanderani = ... # type: QLocale.Language
        Newari = ... # type: QLocale.Language
        NorthernLuri = ... # type: QLocale.Language
        Palauan = ... # type: QLocale.Language
        Papiamento = ... # type: QLocale.Language
        TokelauLanguage = ... # type: QLocale.Language
        TokPisin = ... # type: QLocale.Language
        TuvaluLanguage = ... # type: QLocale.Language
        Cantonese = ... # type: QLocale.Language
        Osage = ... # type: QLocale.Language
        Ido = ... # type: QLocale.Language
        Lojban = ... # type: QLocale.Language
        Sicilian = ... # type: QLocale.Language
        SouthernKurdish = ... # type: QLocale.Language
        WesternBalochi = ... # type: QLocale.Language
        Cebuano = ... # type: QLocale.Language
        Erzya = ... # type: QLocale.Language
        Chickasaw = ... # type: QLocale.Language
        Muscogee = ... # type: QLocale.Language
        Silesian = ... # type: QLocale.Language
        NigerianPidgin = ... # type: QLocale.Language
        Bangla = ... # type: QLocale.Language
        CentralAtlasTamazight = ... # type: QLocale.Language
        Inupiaq = ... # type: QLocale.Language
        Kalaallisut = ... # type: QLocale.Language
        Kuanyama = ... # type: QLocale.Language
        Kyrgyz = ... # type: QLocale.Language
        Navajo = ... # type: QLocale.Language
        Odia = ... # type: QLocale.Language
        Uyghur = ... # type: QLocale.Language
        Wolaytta = ... # type: QLocale.Language
        Kaingang = ... # type: QLocale.Language
        Nheengatu = ... # type: QLocale.Language
        Haryanvi = ... # type: QLocale.Language
        NorthernFrisian = ... # type: QLocale.Language
        Rajasthani = ... # type: QLocale.Language
        Moksha = ... # type: QLocale.Language
        TokiPona = ... # type: QLocale.Language
        Pijin = ... # type: QLocale.Language
        Obolo = ... # type: QLocale.Language
        Baluchi = ... # type: QLocale.Language
        Ligurian = ... # type: QLocale.Language
        Rohingya = ... # type: QLocale.Language
        Torwali = ... # type: QLocale.Language
        Anii = ... # type: QLocale.Language
        Kangri = ... # type: QLocale.Language
        Venetian = ... # type: QLocale.Language
        Kuvi = ... # type: QLocale.Language
        KaraKalpak = ... # type: QLocale.Language
        SwampyCree = ... # type: QLocale.Language

    DefaultTwoDigitBaseYear = ... # type: int

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, name: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, language: 'QLocale.Language', country: 'QLocale.Country' = ...) -> None: ...
    @typing.overload
    def __init__(self, language: 'QLocale.Language', script: 'QLocale.Script', country: 'QLocale.Country') -> None: ...
    @typing.overload
    def __init__(self, other: 'QLocale') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    @staticmethod
    def territoryToString(territory: 'QLocale.Country') -> str: ...
    @staticmethod
    def codeToTerritory(territoryCode: str) -> 'QLocale.Country': ...
    @staticmethod
    def territoryToCode(territory: 'QLocale.Country') -> str: ...
    def nativeTerritoryName(self) -> str: ...
    def territory(self) -> 'QLocale.Country': ...
    @staticmethod
    def codeToScript(scriptCode: str) -> 'QLocale.Script': ...
    @staticmethod
    def scriptToCode(script: 'QLocale.Script') -> str: ...
    @staticmethod
    def codeToCountry(countryCode: str) -> 'QLocale.Country': ...
    @staticmethod
    def countryToCode(country: 'QLocale.Country') -> str: ...
    @staticmethod
    def codeToLanguage(languageCode: str, codeTypes: 'QLocale.LanguageCodeType' = ...) -> 'QLocale.Language': ...
    @staticmethod
    def languageToCode(language: 'QLocale.Language', codeTypes: 'QLocale.LanguageCodeType' = ...) -> str: ...
    def collation(self) -> 'QLocale': ...
    def toULong(self, s: typing.Optional[str]) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toLong(self, s: typing.Optional[str]) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def formattedDataSize(self, bytes: int, precision: int = ..., format: 'QLocale.DataSizeFormat' = ...) -> str: ...
    def swap(self, other: 'QLocale') -> None: ...
    def __hash__(self) -> int: ...
    def createSeparatedList(self, list: collections.abc.Iterable[typing.Optional[str]]) -> str: ...
    def quoteString(self, str: str, style: 'QLocale.QuotationStyle' = ...) -> str: ...
    @staticmethod
    def matchingLocales(language: 'QLocale.Language', script: 'QLocale.Script', territory: 'QLocale.Country') -> list['QLocale']: ...
    @staticmethod
    def scriptToString(script: 'QLocale.Script') -> str: ...
    def uiLanguages(self, separator: 'QLocale.TagSeparator' = ...) -> list[str]: ...
    @typing.overload
    def toCurrencyString(self, a0: float, symbol: typing.Optional[str] = ..., precision: int = ...) -> str: ...
    @typing.overload
    def toCurrencyString(self, value: int, symbol: typing.Optional[str] = ...) -> str: ...
    def currencySymbol(self, format: 'QLocale.CurrencySymbolFormat' = ...) -> str: ...
    def toLower(self, str: typing.Optional[str]) -> str: ...
    def toUpper(self, str: typing.Optional[str]) -> str: ...
    def weekdays(self) -> list[Qt.DayOfWeek]: ...
    def firstDayOfWeek(self) -> Qt.DayOfWeek: ...
    def nativeCountryName(self) -> str: ...
    def nativeLanguageName(self) -> str: ...
    def bcp47Name(self, separator: 'QLocale.TagSeparator' = ...) -> str: ...
    def script(self) -> 'QLocale.Script': ...
    def textDirection(self) -> Qt.LayoutDirection: ...
    def pmText(self) -> str: ...
    def amText(self) -> str: ...
    def standaloneDayName(self, a0: int, format: 'QLocale.FormatType' = ...) -> str: ...
    def standaloneMonthName(self, a0: int, format: 'QLocale.FormatType' = ...) -> str: ...
    def positiveSign(self) -> str: ...
    def measurementSystem(self) -> 'QLocale.MeasurementSystem': ...
    def numberOptions(self) -> 'QLocale.NumberOption': ...
    def setNumberOptions(self, options: 'QLocale.NumberOption') -> None: ...
    def dayName(self, a0: int, format: 'QLocale.FormatType' = ...) -> str: ...
    def monthName(self, a0: int, format: 'QLocale.FormatType' = ...) -> str: ...
    def exponential(self) -> str: ...
    def negativeSign(self) -> str: ...
    def zeroDigit(self) -> str: ...
    def percent(self) -> str: ...
    def groupSeparator(self) -> str: ...
    def decimalPoint(self) -> str: ...
    @typing.overload
    def toDateTime(self, string: typing.Optional[str], format: typing.Optional[str], baseYear: int = ...) -> QDateTime: ...
    @typing.overload
    def toDateTime(self, string: typing.Optional[str], format: typing.Optional[str], cal: QCalendar, baseYear: int = ...) -> QDateTime: ...
    @typing.overload
    def toDateTime(self, string: typing.Optional[str], format: 'QLocale.FormatType', cal: QCalendar, baseYear: int = ...) -> QDateTime: ...
    @typing.overload
    def toDateTime(self, string: typing.Optional[str], format: 'QLocale.FormatType' = ..., baseYear: int = ...) -> QDateTime: ...
    @typing.overload
    def toTime(self, string: typing.Optional[str], format: 'QLocale.FormatType' = ...) -> QTime: ...
    @typing.overload
    def toTime(self, string: typing.Optional[str], format: typing.Optional[str]) -> QTime: ...
    @typing.overload
    def toDate(self, string: typing.Optional[str], format: typing.Optional[str], baseYear: int = ...) -> QDate: ...
    @typing.overload
    def toDate(self, string: typing.Optional[str], format: typing.Optional[str], cal: QCalendar, baseYear: int = ...) -> QDate: ...
    @typing.overload
    def toDate(self, string: typing.Optional[str], format: 'QLocale.FormatType', cal: QCalendar, baseYear: int = ...) -> QDate: ...
    @typing.overload
    def toDate(self, string: typing.Optional[str], a1: 'QLocale.FormatType' = ..., baseYear: int = ...) -> QDate: ...
    def dateTimeFormat(self, format: 'QLocale.FormatType' = ...) -> str: ...
    def timeFormat(self, format: 'QLocale.FormatType' = ...) -> str: ...
    def dateFormat(self, format: 'QLocale.FormatType' = ...) -> str: ...
    @staticmethod
    def system() -> 'QLocale': ...
    @staticmethod
    def c() -> 'QLocale': ...
    @staticmethod
    def setDefault(locale: 'QLocale') -> None: ...
    @staticmethod
    def countryToString(country: 'QLocale.Country') -> str: ...
    @staticmethod
    def languageToString(language: 'QLocale.Language') -> str: ...
    @typing.overload
    def toString(self, date: typing.Union[QDate, datetime.date], format: 'QLocale.FormatType', cal: QCalendar) -> str: ...
    @typing.overload
    def toString(self, date: typing.Union[QDate, datetime.date], formatStr: str, cal: QCalendar) -> str: ...
    @typing.overload
    def toString(self, date: typing.Union[QDate, datetime.date], format: 'QLocale.FormatType' = ...) -> str: ...
    @typing.overload
    def toString(self, date: typing.Union[QDate, datetime.date], formatStr: str) -> str: ...
    @typing.overload
    def toString(self, time: typing.Union[QTime, datetime.time], format: 'QLocale.FormatType' = ...) -> str: ...
    @typing.overload
    def toString(self, time: typing.Union[QTime, datetime.time], formatStr: str) -> str: ...
    @typing.overload
    def toString(self, i: float, format: str = ..., precision: int = ...) -> str: ...
    @typing.overload
    def toString(self, dateTime: typing.Union[QDateTime, datetime.datetime], format: 'QLocale.FormatType', cal: QCalendar) -> str: ...
    @typing.overload
    def toString(self, dateTime: typing.Union[QDateTime, datetime.datetime], format: typing.Optional[str]) -> str: ...
    @typing.overload
    def toString(self, dateTime: typing.Union[QDateTime, datetime.datetime], formatStr: typing.Optional[str], cal: QCalendar) -> str: ...
    @typing.overload
    def toString(self, dateTime: typing.Union[QDateTime, datetime.datetime], format: 'QLocale.FormatType' = ...) -> str: ...
    @typing.overload
    def toString(self, i: int) -> str: ...
    def toDouble(self, s: typing.Optional[str]) -> typing.Tuple[float, typing.Optional[bool]]: ...
    def toFloat(self, s: typing.Optional[str]) -> typing.Tuple[float, typing.Optional[bool]]: ...
    def toULongLong(self, s: typing.Optional[str]) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toLongLong(self, s: typing.Optional[str]) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toUInt(self, s: typing.Optional[str]) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toInt(self, s: typing.Optional[str]) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toUShort(self, s: typing.Optional[str]) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def toShort(self, s: typing.Optional[str]) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def name(self, separator: 'QLocale.TagSeparator' = ...) -> str: ...
    def country(self) -> 'QLocale.Country': ...
    def language(self) -> 'QLocale.Language': ...


class QLockFile(PyQt6.sip.simplewrapper):

    class LockError(enum.Enum):
        NoError = ... # type: QLockFile.LockError
        LockFailedError = ... # type: QLockFile.LockError
        PermissionError = ... # type: QLockFile.LockError
        UnknownError = ... # type: QLockFile.LockError

    def __init__(self, fileName: typing.Optional[str]) -> None: ...

    def fileName(self) -> str: ...
    def error(self) -> 'QLockFile.LockError': ...
    def removeStaleLockFile(self) -> bool: ...
    def getLockInfo(self) -> typing.Tuple[bool, typing.Optional[int], typing.Optional[str], typing.Optional[str]]: ...
    def isLocked(self) -> bool: ...
    def staleLockTime(self) -> int: ...
    def setStaleLockTime(self, a0: int) -> None: ...
    def unlock(self) -> None: ...
    def tryLock(self, timeout: int = ...) -> bool: ...
    def lock(self) -> bool: ...


class QMessageLogContext(PyQt6.sip.simplewrapper):

    CurrentVersion = ... # type: int
    category = ... # type: str
    file = ... # type: str
    function = ... # type: str
    line = ... # type: int


class QMessageLogger(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, file: typing.Optional[str], line: int, function: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, file: typing.Optional[str], line: int, function: typing.Optional[str], category: typing.Optional[str]) -> None: ...

    @typing.overload
    def fatal(self, msg: typing.Optional[str]) -> None: ...
    @typing.overload
    def fatal(self, cat: 'QLoggingCategory', msg: typing.Optional[str]) -> None: ...
    @typing.overload
    def critical(self, msg: typing.Optional[str]) -> None: ...
    @typing.overload
    def critical(self, cat: 'QLoggingCategory', msg: typing.Optional[str]) -> None: ...
    @typing.overload
    def warning(self, msg: typing.Optional[str]) -> None: ...
    @typing.overload
    def warning(self, cat: 'QLoggingCategory', msg: typing.Optional[str]) -> None: ...
    @typing.overload
    def info(self, msg: typing.Optional[str]) -> None: ...
    @typing.overload
    def info(self, cat: 'QLoggingCategory', msg: typing.Optional[str]) -> None: ...
    @typing.overload
    def debug(self, msg: typing.Optional[str]) -> None: ...
    @typing.overload
    def debug(self, cat: 'QLoggingCategory', msg: typing.Optional[str]) -> None: ...


class QLoggingCategory(PyQt6.sip.simplewrapper):

    def __init__(self, category: typing.Optional[str], severityLevel: QtMsgType = ...) -> None: ...

    @staticmethod
    def setFilterRules(rules: typing.Optional[str]) -> None: ...
    @staticmethod
    def defaultCategory() -> typing.Optional['QLoggingCategory']: ...
    def __call__(self) -> 'QLoggingCategory': ...
    def categoryName(self) -> typing.Optional[str]: ...
    def isCriticalEnabled(self) -> bool: ...
    def isWarningEnabled(self) -> bool: ...
    def isInfoEnabled(self) -> bool: ...
    def isDebugEnabled(self) -> bool: ...
    def setEnabled(self, type: QtMsgType, enable: bool) -> None: ...
    def isEnabled(self, type: QtMsgType) -> bool: ...


class QMargins(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, aleft: int, atop: int, aright: int, abottom: int) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QMargins') -> None: ...

    def __or__(self, m2: 'QMargins') -> 'QMargins': ...
    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    @typing.overload
    def __add__(self, m2: 'QMargins') -> 'QMargins': ...
    @typing.overload
    def __add__(self, rhs: int) -> 'QMargins': ...
    @typing.overload
    def __add__(self, rectangle: 'QRect') -> 'QRect': ...
    def __radd__(self, lhs: int) -> 'QMargins': ...
    @typing.overload
    def __sub__(self, m2: 'QMargins') -> 'QMargins': ...
    @typing.overload
    def __sub__(self, rhs: int) -> 'QMargins': ...
    @typing.overload
    def __mul__(self, factor: int) -> 'QMargins': ...
    @typing.overload
    def __mul__(self, factor: float) -> 'QMargins': ...
    @typing.overload
    def __truediv__(self, divisor: int) -> 'QMargins': ...
    @typing.overload
    def __truediv__(self, divisor: float) -> 'QMargins': ...
    def __pos__(self) -> 'QMargins': ...
    def __neg__(self) -> 'QMargins': ...
    def toMarginsF(self) -> 'QMarginsF': ...
    @typing.overload
    def __itruediv__(self, divisor: int) -> 'QMargins': ...
    @typing.overload
    def __itruediv__(self, divisor: float) -> 'QMargins': ...
    @typing.overload
    def __imul__(self, factor: int) -> 'QMargins': ...
    @typing.overload
    def __imul__(self, factor: float) -> 'QMargins': ...
    @typing.overload
    def __isub__(self, margins: 'QMargins') -> 'QMargins': ...
    @typing.overload
    def __isub__(self, margin: int) -> 'QMargins': ...
    @typing.overload
    def __iadd__(self, margins: 'QMargins') -> 'QMargins': ...
    @typing.overload
    def __iadd__(self, margin: int) -> 'QMargins': ...
    def setBottom(self, abottom: int) -> None: ...
    def setRight(self, aright: int) -> None: ...
    def setTop(self, atop: int) -> None: ...
    def setLeft(self, aleft: int) -> None: ...
    def bottom(self) -> int: ...
    def right(self) -> int: ...
    def top(self) -> int: ...
    def left(self) -> int: ...
    def isNull(self) -> bool: ...


class QMarginsF(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, aleft: float, atop: float, aright: float, abottom: float) -> None: ...
    @typing.overload
    def __init__(self, margins: QMargins) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QMarginsF') -> None: ...

    def __or__(self, m2: 'QMarginsF') -> 'QMarginsF': ...
    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    @typing.overload
    def __add__(self, rhs: 'QMarginsF') -> 'QMarginsF': ...
    @typing.overload
    def __add__(self, rhs: float) -> 'QMarginsF': ...
    @typing.overload
    def __add__(self, rhs: 'QRectF') -> 'QRectF': ...
    def __radd__(self, lhs: float) -> 'QMarginsF': ...
    @typing.overload
    def __sub__(self, rhs: 'QMarginsF') -> 'QMarginsF': ...
    @typing.overload
    def __sub__(self, rhs: float) -> 'QMarginsF': ...
    def __mul__(self, rhs: float) -> 'QMarginsF': ...
    def __rmul__(self, lhs: float) -> 'QMarginsF': ...
    def __truediv__(self, divisor: float) -> 'QMarginsF': ...
    def __pos__(self) -> 'QMarginsF': ...
    def __neg__(self) -> 'QMarginsF': ...
    def toMargins(self) -> QMargins: ...
    def __itruediv__(self, divisor: float) -> 'QMarginsF': ...
    def __imul__(self, factor: float) -> 'QMarginsF': ...
    @typing.overload
    def __isub__(self, margins: 'QMarginsF') -> 'QMarginsF': ...
    @typing.overload
    def __isub__(self, subtrahend: float) -> 'QMarginsF': ...
    @typing.overload
    def __iadd__(self, margins: 'QMarginsF') -> 'QMarginsF': ...
    @typing.overload
    def __iadd__(self, addend: float) -> 'QMarginsF': ...
    def setBottom(self, abottom: float) -> None: ...
    def setRight(self, aright: float) -> None: ...
    def setTop(self, atop: float) -> None: ...
    def setLeft(self, aleft: float) -> None: ...
    def bottom(self) -> float: ...
    def right(self) -> float: ...
    def top(self) -> float: ...
    def left(self) -> float: ...
    def isNull(self) -> bool: ...


class QMessageAuthenticationCode(PyQt6.sip.simplewrapper):

    def __init__(self, method: QCryptographicHash.Algorithm, key: typing.Union[QByteArray, bytes, bytearray, memoryview] = ...) -> None: ...

    def swap(self, other: 'QMessageAuthenticationCode') -> None: ...
    @staticmethod
    def hash(message: typing.Union[QByteArray, bytes, bytearray, memoryview], key: typing.Union[QByteArray, bytes, bytearray, memoryview], method: QCryptographicHash.Algorithm) -> QByteArray: ...
    def result(self) -> QByteArray: ...
    @typing.overload
    def addData(self, data: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...
    @typing.overload
    def addData(self, device: typing.Optional[QIODevice]) -> bool: ...
    def setKey(self, key: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...
    def reset(self) -> None: ...


class QMetaMethod(PyQt6.sip.simplewrapper):

    class MethodType(enum.Enum):
        Method = ... # type: QMetaMethod.MethodType
        Signal = ... # type: QMetaMethod.MethodType
        Slot = ... # type: QMetaMethod.MethodType
        Constructor = ... # type: QMetaMethod.MethodType

    class Access(enum.Enum):
        Private = ... # type: QMetaMethod.Access
        Protected = ... # type: QMetaMethod.Access
        Public = ... # type: QMetaMethod.Access

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QMetaMethod') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def isConst(self) -> bool: ...
    def relativeMethodIndex(self) -> int: ...
    def parameterTypeName(self, index: int) -> QByteArray: ...
    def parameterMetaType(self, index: int) -> 'QMetaType': ...
    def returnMetaType(self) -> 'QMetaType': ...
    def parameterType(self, index: int) -> int: ...
    def parameterCount(self) -> int: ...
    def returnType(self) -> int: ...
    def name(self) -> QByteArray: ...
    def methodSignature(self) -> QByteArray: ...
    def isValid(self) -> bool: ...
    def revision(self) -> int: ...
    def methodIndex(self) -> int: ...
    @typing.overload
    def invoke(self, object: typing.Optional[QObject], value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    @typing.overload
    def invoke(self, object: typing.Optional[QObject], connectionType: Qt.ConnectionType, value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    @typing.overload
    def invoke(self, object: typing.Optional[QObject], returnValue: 'QGenericReturnArgument', value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    @typing.overload
    def invoke(self, object: typing.Optional[QObject], connectionType: Qt.ConnectionType, returnValue: 'QGenericReturnArgument', value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    def methodType(self) -> 'QMetaMethod.MethodType': ...
    def access(self) -> 'QMetaMethod.Access': ...
    def tag(self) -> typing.Optional[str]: ...
    def parameterNames(self) -> list[QByteArray]: ...
    def parameterTypes(self) -> list[QByteArray]: ...
    def typeName(self) -> typing.Optional[str]: ...


class QMetaEnum(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QMetaEnum') -> None: ...

    def is64Bit(self) -> bool: ...
    def metaType(self) -> 'QMetaType': ...
    def enumName(self) -> typing.Optional[str]: ...
    def isScoped(self) -> bool: ...
    def isValid(self) -> bool: ...
    def valueToKeys(self, value: int) -> QByteArray: ...
    def keysToValue(self, keys: typing.Optional[str]) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def valueToKey(self, value: int) -> typing.Optional[str]: ...
    def keyToValue(self, key: typing.Optional[str]) -> typing.Tuple[int, typing.Optional[bool]]: ...
    def scope(self) -> typing.Optional[str]: ...
    def value(self, index: int) -> int: ...
    def key(self, index: int) -> typing.Optional[str]: ...
    def keyCount(self) -> int: ...
    def isFlag(self) -> bool: ...
    def name(self) -> typing.Optional[str]: ...


class QMetaProperty(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QMetaProperty') -> None: ...

    def typeId(self) -> int: ...
    def isBindable(self) -> bool: ...
    def metaType(self) -> 'QMetaType': ...
    def isRequired(self) -> bool: ...
    def relativePropertyIndex(self) -> int: ...
    def revision(self) -> int: ...
    def isFinal(self) -> bool: ...
    def isConstant(self) -> bool: ...
    def propertyIndex(self) -> int: ...
    def notifySignalIndex(self) -> int: ...
    def notifySignal(self) -> QMetaMethod: ...
    def hasNotifySignal(self) -> bool: ...
    def userType(self) -> int: ...
    def isUser(self) -> bool: ...
    def isResettable(self) -> bool: ...
    def isValid(self) -> bool: ...
    def hasStdCppSet(self) -> bool: ...
    def reset(self, obj: typing.Optional[QObject]) -> bool: ...
    def write(self, obj: typing.Optional[QObject], value: typing.Any) -> bool: ...
    def read(self, obj: typing.Optional[QObject]) -> typing.Any: ...
    def enumerator(self) -> QMetaEnum: ...
    def isEnumType(self) -> bool: ...
    def isFlagType(self) -> bool: ...
    def isStored(self) -> bool: ...
    def isScriptable(self) -> bool: ...
    def isDesignable(self) -> bool: ...
    def isWritable(self) -> bool: ...
    def isReadable(self) -> bool: ...
    def typeName(self) -> typing.Optional[str]: ...
    def name(self) -> typing.Optional[str]: ...


class QMetaClassInfo(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QMetaClassInfo') -> None: ...

    def value(self) -> typing.Optional[str]: ...
    def name(self) -> typing.Optional[str]: ...


class QMetaType(PyQt6.sip.simplewrapper):

    class TypeFlag(enum.Flag):
        NeedsConstruction = ... # type: QMetaType.TypeFlag
        NeedsDestruction = ... # type: QMetaType.TypeFlag
        PointerToQObject = ... # type: QMetaType.TypeFlag
        IsEnumeration = ... # type: QMetaType.TypeFlag
        IsUnsignedEnumeration = ... # type: QMetaType.TypeFlag
        IsPointer = ... # type: QMetaType.TypeFlag
        RelocatableType = ... # type: QMetaType.TypeFlag
        IsQmlList = ... # type: QMetaType.TypeFlag
        IsConst = ... # type: QMetaType.TypeFlag
        NeedsCopyConstruction = ... # type: QMetaType.TypeFlag
        NeedsMoveConstruction = ... # type: QMetaType.TypeFlag

    class Type(enum.Enum):
        UnknownType = ... # type: QMetaType.Type
        Void = ... # type: QMetaType.Type
        Bool = ... # type: QMetaType.Type
        Int = ... # type: QMetaType.Type
        UInt = ... # type: QMetaType.Type
        LongLong = ... # type: QMetaType.Type
        ULongLong = ... # type: QMetaType.Type
        Double = ... # type: QMetaType.Type
        QChar = ... # type: QMetaType.Type
        QVariantMap = ... # type: QMetaType.Type
        QVariantList = ... # type: QMetaType.Type
        QVariantHash = ... # type: QMetaType.Type
        QString = ... # type: QMetaType.Type
        QStringList = ... # type: QMetaType.Type
        QByteArray = ... # type: QMetaType.Type
        QBitArray = ... # type: QMetaType.Type
        QDate = ... # type: QMetaType.Type
        QTime = ... # type: QMetaType.Type
        QDateTime = ... # type: QMetaType.Type
        QUrl = ... # type: QMetaType.Type
        QLocale = ... # type: QMetaType.Type
        QRect = ... # type: QMetaType.Type
        QRectF = ... # type: QMetaType.Type
        QSize = ... # type: QMetaType.Type
        QSizeF = ... # type: QMetaType.Type
        QLine = ... # type: QMetaType.Type
        QLineF = ... # type: QMetaType.Type
        QPoint = ... # type: QMetaType.Type
        QPointF = ... # type: QMetaType.Type
        LastCoreType = ... # type: QMetaType.Type
        FirstGuiType = ... # type: QMetaType.Type
        QFont = ... # type: QMetaType.Type
        QPixmap = ... # type: QMetaType.Type
        QBrush = ... # type: QMetaType.Type
        QColor = ... # type: QMetaType.Type
        QPalette = ... # type: QMetaType.Type
        QIcon = ... # type: QMetaType.Type
        QImage = ... # type: QMetaType.Type
        QPolygon = ... # type: QMetaType.Type
        QRegion = ... # type: QMetaType.Type
        QBitmap = ... # type: QMetaType.Type
        QCursor = ... # type: QMetaType.Type
        QSizePolicy = ... # type: QMetaType.Type
        QKeySequence = ... # type: QMetaType.Type
        QPen = ... # type: QMetaType.Type
        QTextLength = ... # type: QMetaType.Type
        QTextFormat = ... # type: QMetaType.Type
        QTransform = ... # type: QMetaType.Type
        VoidStar = ... # type: QMetaType.Type
        Long = ... # type: QMetaType.Type
        Short = ... # type: QMetaType.Type
        Char = ... # type: QMetaType.Type
        Char16 = ... # type: QMetaType.Type
        Char32 = ... # type: QMetaType.Type
        ULong = ... # type: QMetaType.Type
        UShort = ... # type: QMetaType.Type
        UChar = ... # type: QMetaType.Type
        Float = ... # type: QMetaType.Type
        Float16 = ... # type: QMetaType.Type
        QObjectStar = ... # type: QMetaType.Type
        QMatrix4x4 = ... # type: QMetaType.Type
        QVector2D = ... # type: QMetaType.Type
        QVector3D = ... # type: QMetaType.Type
        QVector4D = ... # type: QMetaType.Type
        QQuaternion = ... # type: QMetaType.Type
        QEasingCurve = ... # type: QMetaType.Type
        QVariant = ... # type: QMetaType.Type
        QUuid = ... # type: QMetaType.Type
        QModelIndex = ... # type: QMetaType.Type
        QPolygonF = ... # type: QMetaType.Type
        SChar = ... # type: QMetaType.Type
        QRegularExpression = ... # type: QMetaType.Type
        QJsonValue = ... # type: QMetaType.Type
        QJsonObject = ... # type: QMetaType.Type
        QJsonArray = ... # type: QMetaType.Type
        QJsonDocument = ... # type: QMetaType.Type
        QByteArrayList = ... # type: QMetaType.Type
        QPersistentModelIndex = ... # type: QMetaType.Type
        QCborSimpleType = ... # type: QMetaType.Type
        QCborValue = ... # type: QMetaType.Type
        QCborArray = ... # type: QMetaType.Type
        QCborMap = ... # type: QMetaType.Type
        QColorSpace = ... # type: QMetaType.Type
        QVariantPair = ... # type: QMetaType.Type
        User = ... # type: QMetaType.Type

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, type: int) -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def underlyingType(self) -> 'QMetaType': ...
    def isDestructible(self) -> bool: ...
    def isMoveConstructible(self) -> bool: ...
    def isCopyConstructible(self) -> bool: ...
    def isDefaultConstructible(self) -> bool: ...
    def registerType(self) -> None: ...
    def __hash__(self) -> int: ...
    @staticmethod
    def canView(fromType: 'QMetaType', toType: 'QMetaType') -> bool: ...
    @staticmethod
    def canConvert(fromType: 'QMetaType', toType: 'QMetaType') -> bool: ...
    @staticmethod
    def fromName(name: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> 'QMetaType': ...
    def isOrdered(self) -> bool: ...
    def isEqualityComparable(self) -> bool: ...
    def alignOf(self) -> int: ...
    def name(self) -> typing.Optional[bytes]: ...
    def hasRegisteredDebugStreamOperator(self) -> bool: ...
    def hasRegisteredDataStreamOperators(self) -> bool: ...
    def id(self) -> int: ...
    def isValid(self) -> bool: ...
    def flags(self) -> 'QMetaType.TypeFlag': ...
    def sizeOf(self) -> int: ...
    @typing.overload
    @staticmethod
    def isRegistered(type: int) -> bool: ...
    @typing.overload
    def isRegistered(self) -> bool: ...


class QMimeData(QObject):

    def __init__(self) -> None: ...

    def retrieveData(self, mimetype: typing.Optional[str], preferredType: QMetaType) -> typing.Any: ...
    def removeFormat(self, mimetype: typing.Optional[str]) -> None: ...
    def clear(self) -> None: ...
    def formats(self) -> list[str]: ...
    def hasFormat(self, mimetype: typing.Optional[str]) -> bool: ...
    def setData(self, mimetype: typing.Optional[str], data: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...
    def data(self, mimetype: typing.Optional[str]) -> QByteArray: ...
    def hasColor(self) -> bool: ...
    def setColorData(self, color: typing.Any) -> None: ...
    def colorData(self) -> typing.Any: ...
    def hasImage(self) -> bool: ...
    def setImageData(self, image: typing.Any) -> None: ...
    def imageData(self) -> typing.Any: ...
    def hasHtml(self) -> bool: ...
    def setHtml(self, html: typing.Optional[str]) -> None: ...
    def html(self) -> str: ...
    def hasText(self) -> bool: ...
    def setText(self, text: typing.Optional[str]) -> None: ...
    def text(self) -> str: ...
    def hasUrls(self) -> bool: ...
    def setUrls(self, urls: collections.abc.Iterable['QUrl']) -> None: ...
    def urls(self) -> list['QUrl']: ...


class QMimeDatabase(PyQt6.sip.simplewrapper):

    class MatchMode(enum.Enum):
        MatchDefault = ... # type: QMimeDatabase.MatchMode
        MatchExtension = ... # type: QMimeDatabase.MatchMode
        MatchContent = ... # type: QMimeDatabase.MatchMode

    def __init__(self) -> None: ...

    def allMimeTypes(self) -> list['QMimeType']: ...
    def suffixForFileName(self, fileName: typing.Optional[str]) -> str: ...
    @typing.overload
    def mimeTypeForFileNameAndData(self, fileName: typing.Optional[str], device: typing.Optional[QIODevice]) -> 'QMimeType': ...
    @typing.overload
    def mimeTypeForFileNameAndData(self, fileName: typing.Optional[str], data: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> 'QMimeType': ...
    def mimeTypeForUrl(self, url: 'QUrl') -> 'QMimeType': ...
    @typing.overload
    def mimeTypeForData(self, data: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> 'QMimeType': ...
    @typing.overload
    def mimeTypeForData(self, device: typing.Optional[QIODevice]) -> 'QMimeType': ...
    def mimeTypesForFileName(self, fileName: typing.Optional[str]) -> list['QMimeType']: ...
    @typing.overload
    def mimeTypeForFile(self, fileName: typing.Optional[str], mode: 'QMimeDatabase.MatchMode' = ...) -> 'QMimeType': ...
    @typing.overload
    def mimeTypeForFile(self, fileInfo: QFileInfo, mode: 'QMimeDatabase.MatchMode' = ...) -> 'QMimeType': ...
    def mimeTypeForName(self, nameOrAlias: typing.Optional[str]) -> 'QMimeType': ...


class QMimeType(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: 'QMimeType') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __hash__(self) -> int: ...
    def filterString(self) -> str: ...
    def inherits(self, mimeTypeName: typing.Optional[str]) -> bool: ...
    def preferredSuffix(self) -> str: ...
    def suffixes(self) -> list[str]: ...
    def aliases(self) -> list[str]: ...
    def allAncestors(self) -> list[str]: ...
    def parentMimeTypes(self) -> list[str]: ...
    def globPatterns(self) -> list[str]: ...
    def iconName(self) -> str: ...
    def genericIconName(self) -> str: ...
    def comment(self) -> str: ...
    def name(self) -> str: ...
    def isDefault(self) -> bool: ...
    def isValid(self) -> bool: ...
    def swap(self, other: 'QMimeType') -> None: ...


class QMutex(PyQt6.sip.simplewrapper):

    def __init__(self) -> None: ...

    def unlock(self) -> None: ...
    @typing.overload
    def tryLock(self) -> bool: ...
    @typing.overload
    def tryLock(self, timeout: QDeadlineTimer) -> bool: ...
    @typing.overload
    def tryLock(self, timeout: int) -> bool: ...
    def lock(self) -> None: ...


class QRecursiveMutex(PyQt6.sip.simplewrapper):

    def __init__(self) -> None: ...

    def unlock(self) -> None: ...
    @typing.overload
    def tryLock(self, a0: QDeadlineTimer) -> bool: ...
    @typing.overload
    def tryLock(self, timeout: int = ...) -> bool: ...
    def lock(self) -> None: ...


class QSignalBlocker(PyQt6.sip.simplewrapper):

    def __init__(self, o: typing.Optional[QObject]) -> None: ...

    def __exit__(self, type: typing.Any, value: typing.Any, traceback: typing.Any) -> None: ...
    def __enter__(self) -> typing.Any: ...
    def unblock(self) -> None: ...
    def reblock(self) -> None: ...
    def dismiss(self) -> None: ...


class QObjectCleanupHandler(QObject):

    def __init__(self) -> None: ...

    def clear(self) -> None: ...
    def isEmpty(self) -> bool: ...
    def remove(self, object: typing.Optional[QObject]) -> None: ...
    def add(self, object: typing.Optional[QObject]) -> typing.Optional[QObject]: ...


class QMetaObject(PyQt6.sip.simplewrapper):

    class Connection(PyQt6.sip.simplewrapper):

        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, other: 'QMetaObject.Connection') -> None: ...

        def swap(self, o: 'QMetaObject.Connection') -> None: ...

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QMetaObject') -> None: ...

    def inherits(self, metaObject: typing.Optional['QMetaObject']) -> bool: ...
    def constructor(self, index: int) -> QMetaMethod: ...
    def indexOfConstructor(self, constructor: typing.Optional[str]) -> int: ...
    def constructorCount(self) -> int: ...
    def newInstance(self, value0: 'QGenericArgument', value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Optional[QObject]: ...
    @typing.overload
    @staticmethod
    def invokeMethod(obj: typing.Optional[QObject], member: typing.Optional[str], a2: Qt.ConnectionType, ret: 'QGenericReturnArgument', value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    @typing.overload
    @staticmethod
    def invokeMethod(obj: typing.Optional[QObject], member: typing.Optional[str], ret: 'QGenericReturnArgument', value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    @typing.overload
    @staticmethod
    def invokeMethod(obj: typing.Optional[QObject], member: typing.Optional[str], type: Qt.ConnectionType, value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    @typing.overload
    @staticmethod
    def invokeMethod(obj: typing.Optional[QObject], member: typing.Optional[str], value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    @staticmethod
    def normalizedType(type: typing.Optional[str]) -> QByteArray: ...
    @staticmethod
    def normalizedSignature(method: typing.Optional[str]) -> QByteArray: ...
    @staticmethod
    def connectSlotsByName(o: typing.Optional[QObject]) -> None: ...
    @typing.overload
    @staticmethod
    def checkConnectArgs(signal: typing.Optional[str], method: typing.Optional[str]) -> bool: ...
    @typing.overload
    @staticmethod
    def checkConnectArgs(signal: QMetaMethod, method: QMetaMethod) -> bool: ...
    def classInfo(self, index: int) -> QMetaClassInfo: ...
    def property(self, index: int) -> QMetaProperty: ...
    def enumerator(self, index: int) -> QMetaEnum: ...
    def method(self, index: int) -> QMetaMethod: ...
    def indexOfClassInfo(self, name: typing.Optional[str]) -> int: ...
    def indexOfProperty(self, name: typing.Optional[str]) -> int: ...
    def indexOfEnumerator(self, name: typing.Optional[str]) -> int: ...
    def indexOfSlot(self, slot: typing.Optional[str]) -> int: ...
    def indexOfSignal(self, signal: typing.Optional[str]) -> int: ...
    def indexOfMethod(self, method: typing.Optional[str]) -> int: ...
    def classInfoCount(self) -> int: ...
    def propertyCount(self) -> int: ...
    def enumeratorCount(self) -> int: ...
    def methodCount(self) -> int: ...
    def classInfoOffset(self) -> int: ...
    def propertyOffset(self) -> int: ...
    def enumeratorOffset(self) -> int: ...
    def methodOffset(self) -> int: ...
    def userProperty(self) -> QMetaProperty: ...
    def superClass(self) -> typing.Optional['QMetaObject']: ...
    def className(self) -> typing.Optional[str]: ...
    def metaType(self) -> QMetaType: ...


class QGenericArgument(PyQt6.sip.simplewrapper): ...


class QGenericReturnArgument(PyQt6.sip.simplewrapper): ...


class QOperatingSystemVersionBase(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QOperatingSystemVersionBase') -> None: ...

    def __ge__(self, rhs: 'QOperatingSystemVersionBase') -> bool: ...
    def __le__(self, rhs: 'QOperatingSystemVersionBase') -> bool: ...
    def __gt__(self, rhs: 'QOperatingSystemVersionBase') -> bool: ...
    def __lt__(self, rhs: 'QOperatingSystemVersionBase') -> bool: ...
    def name(self) -> str: ...
    def segmentCount(self) -> int: ...
    def microVersion(self) -> int: ...
    def minorVersion(self) -> int: ...
    def majorVersion(self) -> int: ...
    def version(self) -> 'QVersionNumber': ...


class QOperatingSystemVersion(QOperatingSystemVersionBase):

    class OSType(enum.Enum):
        Unknown = ... # type: QOperatingSystemVersion.OSType
        Windows = ... # type: QOperatingSystemVersion.OSType
        MacOS = ... # type: QOperatingSystemVersion.OSType
        IOS = ... # type: QOperatingSystemVersion.OSType
        TvOS = ... # type: QOperatingSystemVersion.OSType
        WatchOS = ... # type: QOperatingSystemVersion.OSType
        Android = ... # type: QOperatingSystemVersion.OSType

    Android10 = ... # type: 'QOperatingSystemVersion'
    Android11 = ... # type: 'QOperatingSystemVersion'
    Android12 = ... # type: QOperatingSystemVersionBase
    Android12L = ... # type: QOperatingSystemVersionBase
    Android13 = ... # type: QOperatingSystemVersionBase
    AndroidJellyBean = ... # type: 'QOperatingSystemVersion'
    AndroidJellyBean_MR1 = ... # type: 'QOperatingSystemVersion'
    AndroidJellyBean_MR2 = ... # type: 'QOperatingSystemVersion'
    AndroidKitKat = ... # type: 'QOperatingSystemVersion'
    AndroidLollipop = ... # type: 'QOperatingSystemVersion'
    AndroidLollipop_MR1 = ... # type: 'QOperatingSystemVersion'
    AndroidMarshmallow = ... # type: 'QOperatingSystemVersion'
    AndroidNougat = ... # type: 'QOperatingSystemVersion'
    AndroidNougat_MR1 = ... # type: 'QOperatingSystemVersion'
    AndroidOreo = ... # type: 'QOperatingSystemVersion'
    AndroidOreo_MR1 = ... # type: 'QOperatingSystemVersion'
    AndroidPie = ... # type: 'QOperatingSystemVersion'
    MacOSBigSur = ... # type: 'QOperatingSystemVersion'
    MacOSCatalina = ... # type: 'QOperatingSystemVersion'
    MacOSHighSierra = ... # type: 'QOperatingSystemVersion'
    MacOSMojave = ... # type: 'QOperatingSystemVersion'
    MacOSMonterey = ... # type: 'QOperatingSystemVersion'
    MacOSSierra = ... # type: 'QOperatingSystemVersion'
    MacOSSonoma = ... # type: QOperatingSystemVersionBase
    MacOSVentura = ... # type: QOperatingSystemVersionBase
    OSXElCapitan = ... # type: 'QOperatingSystemVersion'
    OSXMavericks = ... # type: 'QOperatingSystemVersion'
    OSXYosemite = ... # type: 'QOperatingSystemVersion'
    Windows10 = ... # type: 'QOperatingSystemVersion'
    Windows10_1809 = ... # type: QOperatingSystemVersionBase
    Windows10_1903 = ... # type: QOperatingSystemVersionBase
    Windows10_1909 = ... # type: QOperatingSystemVersionBase
    Windows10_2004 = ... # type: QOperatingSystemVersionBase
    Windows10_20H2 = ... # type: QOperatingSystemVersionBase
    Windows10_21H1 = ... # type: QOperatingSystemVersionBase
    Windows10_21H2 = ... # type: QOperatingSystemVersionBase
    Windows10_22H2 = ... # type: QOperatingSystemVersionBase
    Windows11 = ... # type: QOperatingSystemVersionBase
    Windows11_21H2 = ... # type: QOperatingSystemVersionBase
    Windows11_22H2 = ... # type: QOperatingSystemVersionBase
    Windows7 = ... # type: 'QOperatingSystemVersion'
    Windows8 = ... # type: 'QOperatingSystemVersion'
    Windows8_1 = ... # type: 'QOperatingSystemVersion'

    @typing.overload
    def __init__(self, osType: 'QOperatingSystemVersion.OSType', vmajor: int, vminor: int = ..., vmicro: int = ...) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QOperatingSystemVersion') -> None: ...

    def type(self) -> 'QOperatingSystemVersion.OSType': ...
    @staticmethod
    def currentType() -> 'QOperatingSystemVersion.OSType': ...
    @staticmethod
    def current() -> 'QOperatingSystemVersion': ...


class QParallelAnimationGroup(QAnimationGroup):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def updateDirection(self, direction: QAbstractAnimation.Direction) -> None: ...
    def updateState(self, newState: QAbstractAnimation.State, oldState: QAbstractAnimation.State) -> None: ...
    def updateCurrentTime(self, currentTime: int) -> None: ...
    def event(self, event: typing.Optional[QEvent]) -> bool: ...
    def duration(self) -> int: ...


class QPauseAnimation(QAbstractAnimation):

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, msecs: int, parent: typing.Optional[QObject] = ...) -> None: ...

    def updateCurrentTime(self, a0: int) -> None: ...
    def event(self, e: typing.Optional[QEvent]) -> bool: ...
    def setDuration(self, msecs: int) -> None: ...
    def duration(self) -> int: ...


class QPermission(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QPermission') -> None: ...

    def value(self) -> typing.Any: ...
    def type(self) -> QMetaType: ...
    def status(self) -> Qt.PermissionStatus: ...


class QLocationPermission(PyQt6.sip.simplewrapper):

    class Availability(enum.Enum):
        WhenInUse = ... # type: QLocationPermission.Availability
        Always = ... # type: QLocationPermission.Availability

    class Accuracy(enum.Enum):
        Approximate = ... # type: QLocationPermission.Accuracy
        Precise = ... # type: QLocationPermission.Accuracy

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: 'QLocationPermission') -> None: ...

    def availability(self) -> 'QLocationPermission.Availability': ...
    def setAvailability(self, availability: 'QLocationPermission.Availability') -> None: ...
    def accuracy(self) -> 'QLocationPermission.Accuracy': ...
    def setAccuracy(self, accuracy: 'QLocationPermission.Accuracy') -> None: ...


class QCalendarPermission(PyQt6.sip.simplewrapper):

    class AccessMode(enum.Enum):
        ReadOnly = ... # type: QCalendarPermission.AccessMode
        ReadWrite = ... # type: QCalendarPermission.AccessMode

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: 'QCalendarPermission') -> None: ...

    def accessMode(self) -> 'QCalendarPermission.AccessMode': ...
    def setAccessMode(self, mode: 'QCalendarPermission.AccessMode') -> None: ...


class QContactsPermission(PyQt6.sip.simplewrapper):

    class AccessMode(enum.Enum):
        ReadOnly = ... # type: QContactsPermission.AccessMode
        ReadWrite = ... # type: QContactsPermission.AccessMode

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: 'QContactsPermission') -> None: ...

    def accessMode(self) -> 'QContactsPermission.AccessMode': ...
    def setAccessMode(self, mode: 'QContactsPermission.AccessMode') -> None: ...


class QCameraPermission(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: 'QCameraPermission') -> None: ...


class QMicrophonePermission(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: 'QMicrophonePermission') -> None: ...


class QBluetoothPermission(PyQt6.sip.simplewrapper):

    class CommunicationMode(enum.Enum):
        Access = ... # type: QBluetoothPermission.CommunicationMode
        Advertise = ... # type: QBluetoothPermission.CommunicationMode
        Default = ... # type: QBluetoothPermission.CommunicationMode

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: 'QBluetoothPermission') -> None: ...

    def communicationModes(self) -> 'QBluetoothPermission.CommunicationMode': ...
    def setCommunicationModes(self, modes: 'QBluetoothPermission.CommunicationMode') -> None: ...


class QVariantAnimation(QAbstractAnimation):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def interpolated(self, from_: typing.Any, to: typing.Any, progress: float) -> typing.Any: ...
    def updateCurrentValue(self, value: typing.Any) -> None: ...
    def updateState(self, newState: QAbstractAnimation.State, oldState: QAbstractAnimation.State) -> None: ...
    def updateCurrentTime(self, a0: int) -> None: ...
    def event(self, event: typing.Optional[QEvent]) -> bool: ...
    valueChanged: typing.ClassVar[pyqtSignal]
    def setEasingCurve(self, easing: typing.Union[QEasingCurve, QEasingCurve.Type]) -> None: ...
    def easingCurve(self) -> QEasingCurve: ...
    def setDuration(self, msecs: int) -> None: ...
    def duration(self) -> int: ...
    def currentValue(self) -> typing.Any: ...
    def setKeyValues(self, values: collections.abc.Iterable[tuple[float, typing.Any]]) -> None: ...
    def keyValues(self) -> list[tuple[float, typing.Any]]: ...
    def setKeyValueAt(self, step: float, value: typing.Any) -> None: ...
    def keyValueAt(self, step: float) -> typing.Any: ...
    def setEndValue(self, value: typing.Any) -> None: ...
    def endValue(self) -> typing.Any: ...
    def setStartValue(self, value: typing.Any) -> None: ...
    def startValue(self) -> typing.Any: ...


class QPropertyAnimation(QVariantAnimation):

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, target: typing.Optional[QObject], propertyName: typing.Union[QByteArray, bytes, bytearray, memoryview], parent: typing.Optional[QObject] = ...) -> None: ...

    def updateState(self, newState: QAbstractAnimation.State, oldState: QAbstractAnimation.State) -> None: ...
    def updateCurrentValue(self, value: typing.Any) -> None: ...
    def event(self, event: typing.Optional[QEvent]) -> bool: ...
    def setPropertyName(self, propertyName: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...
    def propertyName(self) -> QByteArray: ...
    def setTargetObject(self, target: typing.Optional[QObject]) -> None: ...
    def targetObject(self) -> typing.Optional[QObject]: ...


class QPluginLoader(QObject):

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, fileName: typing.Optional[str], parent: typing.Optional[QObject] = ...) -> None: ...

    def loadHints(self) -> QLibrary.LoadHint: ...
    def setLoadHints(self, loadHints: QLibrary.LoadHint) -> None: ...
    def errorString(self) -> str: ...
    def fileName(self) -> str: ...
    def setFileName(self, fileName: typing.Optional[str]) -> None: ...
    def isLoaded(self) -> bool: ...
    def unload(self) -> bool: ...
    def load(self) -> bool: ...
    @staticmethod
    def staticInstances() -> list[QObject]: ...
    def instance(self) -> typing.Optional[QObject]: ...


class QPoint(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, xpos: int, ypos: int) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QPoint') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __add__(self, p2: 'QPoint') -> 'QPoint': ...
    def __sub__(self, p2: 'QPoint') -> 'QPoint': ...
    @typing.overload
    def __mul__(self, factor: int) -> 'QPoint': ...
    @typing.overload
    def __mul__(self, factor: float) -> 'QPoint': ...
    @typing.overload
    def __rmul__(self, factor: int) -> 'QPoint': ...
    @typing.overload
    def __rmul__(self, factor: float) -> 'QPoint': ...
    def __truediv__(self, c: float) -> 'QPoint': ...
    def __pos__(self) -> 'QPoint': ...
    def __neg__(self) -> 'QPoint': ...
    def toPointF(self) -> 'QPointF': ...
    def transposed(self) -> 'QPoint': ...
    @staticmethod
    def dotProduct(p1: 'QPoint', p2: 'QPoint') -> int: ...
    def __itruediv__(self, c: float) -> 'QPoint': ...
    @typing.overload
    def __imul__(self, c: int) -> 'QPoint': ...
    @typing.overload
    def __imul__(self, c: float) -> 'QPoint': ...
    def __isub__(self, p: 'QPoint') -> 'QPoint': ...
    def __iadd__(self, p: 'QPoint') -> 'QPoint': ...
    def setY(self, ypos: int) -> None: ...
    def setX(self, xpos: int) -> None: ...
    def y(self) -> int: ...
    def x(self) -> int: ...
    def __hash__(self) -> int: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...
    def manhattanLength(self) -> int: ...


class QPointF(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, xpos: float, ypos: float) -> None: ...
    @typing.overload
    def __init__(self, p: QPoint) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QPointF') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __add__(self, p2: 'QPointF') -> 'QPointF': ...
    def __sub__(self, p2: 'QPointF') -> 'QPointF': ...
    def __mul__(self, c: float) -> 'QPointF': ...
    def __rmul__(self, c: float) -> 'QPointF': ...
    def __truediv__(self, divisor: float) -> 'QPointF': ...
    def __pos__(self) -> 'QPointF': ...
    def __neg__(self) -> 'QPointF': ...
    def transposed(self) -> 'QPointF': ...
    @staticmethod
    def dotProduct(p1: 'QPointF', p2: 'QPointF') -> float: ...
    def manhattanLength(self) -> float: ...
    def toPoint(self) -> QPoint: ...
    def __itruediv__(self, c: float) -> 'QPointF': ...
    def __imul__(self, c: float) -> 'QPointF': ...
    def __isub__(self, p: 'QPointF') -> 'QPointF': ...
    def __iadd__(self, p: 'QPointF') -> 'QPointF': ...
    def setY(self, ypos: float) -> None: ...
    def setX(self, xpos: float) -> None: ...
    def y(self) -> float: ...
    def x(self) -> float: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...


class QProcess(QIODevice):

    class UnixProcessFlag(enum.Enum):
        ResetSignalHandlers = ... # type: QProcess.UnixProcessFlag
        IgnoreSigPipe = ... # type: QProcess.UnixProcessFlag
        CloseFileDescriptors = ... # type: QProcess.UnixProcessFlag
        UseVFork = ... # type: QProcess.UnixProcessFlag
        CreateNewSession = ... # type: QProcess.UnixProcessFlag
        DisconnectControllingTerminal = ... # type: QProcess.UnixProcessFlag
        ResetIds = ... # type: QProcess.UnixProcessFlag
        DisableCoreDumps = ... # type: QProcess.UnixProcessFlag

    class InputChannelMode(enum.Enum):
        ManagedInputChannel = ... # type: QProcess.InputChannelMode
        ForwardedInputChannel = ... # type: QProcess.InputChannelMode

    class ProcessChannelMode(enum.Enum):
        SeparateChannels = ... # type: QProcess.ProcessChannelMode
        MergedChannels = ... # type: QProcess.ProcessChannelMode
        ForwardedChannels = ... # type: QProcess.ProcessChannelMode
        ForwardedOutputChannel = ... # type: QProcess.ProcessChannelMode
        ForwardedErrorChannel = ... # type: QProcess.ProcessChannelMode

    class ProcessChannel(enum.Enum):
        StandardOutput = ... # type: QProcess.ProcessChannel
        StandardError = ... # type: QProcess.ProcessChannel

    class ProcessState(enum.Enum):
        NotRunning = ... # type: QProcess.ProcessState
        Starting = ... # type: QProcess.ProcessState
        Running = ... # type: QProcess.ProcessState

    class ProcessError(enum.Enum):
        FailedToStart = ... # type: QProcess.ProcessError
        Crashed = ... # type: QProcess.ProcessError
        Timedout = ... # type: QProcess.ProcessError
        ReadError = ... # type: QProcess.ProcessError
        WriteError = ... # type: QProcess.ProcessError
        UnknownError = ... # type: QProcess.ProcessError

    class ExitStatus(enum.Enum):
        NormalExit = ... # type: QProcess.ExitStatus
        CrashExit = ... # type: QProcess.ExitStatus

    class UnixProcessParameters(PyQt6.sip.simplewrapper):

        flags = ... # type: 'QProcess.UnixProcessFlag'
        lowestFileDescriptorToClose = ... # type: int

        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, a0: 'QProcess.UnixProcessParameters') -> None: ...

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    @typing.overload
    def setUnixProcessParameters(self, flagsOnly: 'QProcess.UnixProcessFlag') -> None: ...
    @typing.overload
    def setUnixProcessParameters(self, params: 'QProcess.UnixProcessParameters') -> None: ...
    def unixProcessParameters(self) -> 'QProcess.UnixProcessParameters': ...
    def processId(self) -> int: ...
    @staticmethod
    def nullDevice() -> str: ...
    def setInputChannelMode(self, mode: 'QProcess.InputChannelMode') -> None: ...
    def inputChannelMode(self) -> 'QProcess.InputChannelMode': ...
    def open(self, mode: QIODeviceBase.OpenModeFlag = ...) -> bool: ...
    def setArguments(self, arguments: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    def arguments(self) -> list[str]: ...
    def setProgram(self, program: typing.Optional[str]) -> None: ...
    def program(self) -> str: ...
    def processEnvironment(self) -> 'QProcessEnvironment': ...
    def setProcessEnvironment(self, environment: 'QProcessEnvironment') -> None: ...
    def writeData(self, a0: PyQt6.sip.Buffer) -> int: ...
    def readData(self, maxlen: int) -> bytes: ...
    def setProcessState(self, state: 'QProcess.ProcessState') -> None: ...
    errorOccurred: typing.ClassVar[pyqtSignal]
    readyReadStandardError: typing.ClassVar[pyqtSignal]
    readyReadStandardOutput: typing.ClassVar[pyqtSignal]
    stateChanged: typing.ClassVar[pyqtSignal]
    finished: typing.ClassVar[pyqtSignal]
    started: typing.ClassVar[pyqtSignal]
    def kill(self) -> None: ...
    def terminate(self) -> None: ...
    def setStandardOutputProcess(self, destination: typing.Optional['QProcess']) -> None: ...
    def setStandardErrorFile(self, fileName: typing.Optional[str], mode: QIODeviceBase.OpenModeFlag = ...) -> None: ...
    def setStandardOutputFile(self, fileName: typing.Optional[str], mode: QIODeviceBase.OpenModeFlag = ...) -> None: ...
    def setStandardInputFile(self, fileName: typing.Optional[str]) -> None: ...
    def setProcessChannelMode(self, mode: 'QProcess.ProcessChannelMode') -> None: ...
    def processChannelMode(self) -> 'QProcess.ProcessChannelMode': ...
    @staticmethod
    def systemEnvironment() -> list[str]: ...
    @typing.overload
    @staticmethod
    def startDetached(program: typing.Optional[str], arguments: collections.abc.Iterable[typing.Optional[str]] = ..., workingDirectory: typing.Optional[str] = ...) -> typing.Tuple[bool, typing.Optional[int]]: ...
    @typing.overload
    def startDetached(self) -> typing.Tuple[bool, typing.Optional[int]]: ...
    @staticmethod
    def execute(program: typing.Optional[str], arguments: collections.abc.Iterable[typing.Optional[str]] = ...) -> int: ...
    def close(self) -> None: ...
    def isSequential(self) -> bool: ...
    def bytesToWrite(self) -> int: ...
    def exitStatus(self) -> 'QProcess.ExitStatus': ...
    def exitCode(self) -> int: ...
    def readAllStandardError(self) -> QByteArray: ...
    def readAllStandardOutput(self) -> QByteArray: ...
    def waitForFinished(self, msecs: int = ...) -> bool: ...
    def waitForBytesWritten(self, msecs: int = ...) -> bool: ...
    def waitForReadyRead(self, msecs: int = ...) -> bool: ...
    def waitForStarted(self, msecs: int = ...) -> bool: ...
    def state(self) -> 'QProcess.ProcessState': ...
    def error(self) -> 'QProcess.ProcessError': ...
    def setWorkingDirectory(self, dir: typing.Optional[str]) -> None: ...
    def workingDirectory(self) -> str: ...
    def closeWriteChannel(self) -> None: ...
    def closeReadChannel(self, channel: 'QProcess.ProcessChannel') -> None: ...
    def setReadChannel(self, channel: 'QProcess.ProcessChannel') -> None: ...
    def readChannel(self) -> 'QProcess.ProcessChannel': ...
    def startCommand(self, command: typing.Optional[str], mode: QIODeviceBase.OpenModeFlag = ...) -> None: ...
    @typing.overload
    def start(self, program: typing.Optional[str], arguments: collections.abc.Iterable[typing.Optional[str]] = ..., mode: QIODeviceBase.OpenModeFlag = ...) -> None: ...
    @typing.overload
    def start(self, mode: QIODeviceBase.OpenModeFlag = ...) -> None: ...


class QProcessEnvironment(PyQt6.sip.simplewrapper):

    class Initialization(enum.Enum):
        InheritFromParent = ... # type: QProcessEnvironment.Initialization

    @typing.overload
    def __init__(self, a0: 'QProcessEnvironment.Initialization') -> None: ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: 'QProcessEnvironment') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def inheritsFromParent(self) -> bool: ...
    def swap(self, other: 'QProcessEnvironment') -> None: ...
    def keys(self) -> list[str]: ...
    @staticmethod
    def systemEnvironment() -> 'QProcessEnvironment': ...
    def toStringList(self) -> list[str]: ...
    def value(self, name: typing.Optional[str], defaultValue: typing.Optional[str] = ...) -> str: ...
    def remove(self, name: typing.Optional[str]) -> None: ...
    @typing.overload
    def insert(self, name: typing.Optional[str], value: typing.Optional[str]) -> None: ...
    @typing.overload
    def insert(self, e: 'QProcessEnvironment') -> None: ...
    def contains(self, name: typing.Optional[str]) -> bool: ...
    def clear(self) -> None: ...
    def isEmpty(self) -> bool: ...


class QRandomGenerator(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self, seed: int = ...) -> None: ...
    @typing.overload
    def __init__(self, other: 'QRandomGenerator') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    @staticmethod
    def securelySeeded() -> 'QRandomGenerator': ...
    @staticmethod
    def global_() -> typing.Optional['QRandomGenerator']: ...
    @staticmethod
    def system() -> typing.Optional['QRandomGenerator']: ...
    @staticmethod
    def max() -> int: ...
    @staticmethod
    def min() -> int: ...
    def discard(self, z: int) -> None: ...
    def seed(self, seed: int = ...) -> None: ...
    def __call__(self) -> int: ...
    @typing.overload
    def bounded(self, highest: float) -> float: ...
    @typing.overload
    def bounded(self, lowest: int, highest: int) -> int: ...
    @typing.overload
    def bounded(self, highest: int) -> int: ...
    def generateDouble(self) -> float: ...
    def generate64(self) -> int: ...
    def generate(self) -> int: ...


class QReadWriteLock(PyQt6.sip.simplewrapper):

    class RecursionMode(enum.Enum):
        NonRecursive = ... # type: QReadWriteLock.RecursionMode
        Recursive = ... # type: QReadWriteLock.RecursionMode

    def __init__(self, recursionMode: 'QReadWriteLock.RecursionMode' = ...) -> None: ...

    def unlock(self) -> None: ...
    @typing.overload
    def tryLockForWrite(self, timeout: QDeadlineTimer = ...) -> bool: ...
    @typing.overload
    def tryLockForWrite(self, timeout: int) -> bool: ...
    def lockForWrite(self) -> None: ...
    @typing.overload
    def tryLockForRead(self, timeout: QDeadlineTimer = ...) -> bool: ...
    @typing.overload
    def tryLockForRead(self, timeout: int) -> bool: ...
    def lockForRead(self) -> None: ...


class QReadLocker(PyQt6.sip.simplewrapper):

    def __init__(self, areadWriteLock: typing.Optional[QReadWriteLock]) -> None: ...

    def __exit__(self, type: typing.Any, value: typing.Any, traceback: typing.Any) -> None: ...
    def __enter__(self) -> typing.Any: ...
    def readWriteLock(self) -> typing.Optional[QReadWriteLock]: ...
    def relock(self) -> None: ...
    def unlock(self) -> None: ...


class QWriteLocker(PyQt6.sip.simplewrapper):

    def __init__(self, areadWriteLock: typing.Optional[QReadWriteLock]) -> None: ...

    def __exit__(self, type: typing.Any, value: typing.Any, traceback: typing.Any) -> None: ...
    def __enter__(self) -> typing.Any: ...
    def readWriteLock(self) -> typing.Optional[QReadWriteLock]: ...
    def relock(self) -> None: ...
    def unlock(self) -> None: ...


class QRect(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, aleft: int, atop: int, awidth: int, aheight: int) -> None: ...
    @typing.overload
    def __init__(self, atopLeft: QPoint, abottomRight: QPoint) -> None: ...
    @typing.overload
    def __init__(self, atopLeft: QPoint, asize: 'QSize') -> None: ...
    @typing.overload
    def __init__(self, a0: 'QRect') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __add__(self, margins: QMargins) -> 'QRect': ...
    def __sub__(self, rhs: QMargins) -> 'QRect': ...
    def toRectF(self) -> 'QRectF': ...
    @staticmethod
    def span(p1: QPoint, p2: QPoint) -> 'QRect': ...
    def transposed(self) -> 'QRect': ...
    def __isub__(self, margins: QMargins) -> 'QRect': ...
    def __iadd__(self, margins: QMargins) -> 'QRect': ...
    def marginsRemoved(self, margins: QMargins) -> 'QRect': ...
    def marginsAdded(self, margins: QMargins) -> 'QRect': ...
    def united(self, r: 'QRect') -> 'QRect': ...
    def intersected(self, other: 'QRect') -> 'QRect': ...
    def __iand__(self, r: 'QRect') -> 'QRect': ...
    def __ior__(self, r: 'QRect') -> 'QRect': ...
    def setSize(self, s: 'QSize') -> None: ...
    def setHeight(self, h: int) -> None: ...
    def setWidth(self, w: int) -> None: ...
    def adjust(self, dx1: int, dy1: int, dx2: int, dy2: int) -> None: ...
    def adjusted(self, xp1: int, yp1: int, xp2: int, yp2: int) -> 'QRect': ...
    def setCoords(self, xp1: int, yp1: int, xp2: int, yp2: int) -> None: ...
    def getCoords(self) -> typing.Tuple[typing.Optional[int], typing.Optional[int], typing.Optional[int], typing.Optional[int]]: ...
    def setRect(self, ax: int, ay: int, aw: int, ah: int) -> None: ...
    def getRect(self) -> typing.Tuple[typing.Optional[int], typing.Optional[int], typing.Optional[int], typing.Optional[int]]: ...
    def moveBottomLeft(self, p: QPoint) -> None: ...
    def moveTopRight(self, p: QPoint) -> None: ...
    def moveBottomRight(self, p: QPoint) -> None: ...
    def moveTopLeft(self, p: QPoint) -> None: ...
    def moveBottom(self, pos: int) -> None: ...
    def moveRight(self, pos: int) -> None: ...
    def moveTop(self, pos: int) -> None: ...
    def moveLeft(self, pos: int) -> None: ...
    @typing.overload
    def moveTo(self, ax: int, ay: int) -> None: ...
    @typing.overload
    def moveTo(self, p: QPoint) -> None: ...
    @typing.overload
    def translated(self, dx: int, dy: int) -> 'QRect': ...
    @typing.overload
    def translated(self, p: QPoint) -> 'QRect': ...
    @typing.overload
    def translate(self, dx: int, dy: int) -> None: ...
    @typing.overload
    def translate(self, p: QPoint) -> None: ...
    def size(self) -> 'QSize': ...
    def height(self) -> int: ...
    def width(self) -> int: ...
    def center(self) -> QPoint: ...
    def bottomLeft(self) -> QPoint: ...
    def topRight(self) -> QPoint: ...
    def bottomRight(self) -> QPoint: ...
    def topLeft(self) -> QPoint: ...
    def setY(self, ay: int) -> None: ...
    def setX(self, ax: int) -> None: ...
    def setBottomLeft(self, p: QPoint) -> None: ...
    def setTopRight(self, p: QPoint) -> None: ...
    def setBottomRight(self, p: QPoint) -> None: ...
    def setTopLeft(self, p: QPoint) -> None: ...
    def setBottom(self, pos: int) -> None: ...
    def setRight(self, pos: int) -> None: ...
    def setTop(self, pos: int) -> None: ...
    def setLeft(self, pos: int) -> None: ...
    def y(self) -> int: ...
    def x(self) -> int: ...
    def bottom(self) -> int: ...
    def right(self) -> int: ...
    def top(self) -> int: ...
    def left(self) -> int: ...
    def __hash__(self) -> int: ...
    def __bool__(self) -> int: ...
    def isValid(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...
    def intersects(self, r: 'QRect') -> bool: ...
    @typing.overload
    def __contains__(self, p: QPoint) -> int: ...
    @typing.overload
    def __contains__(self, r: 'QRect') -> int: ...
    @typing.overload
    def contains(self, point: QPoint, proper: bool = ...) -> bool: ...
    @typing.overload
    def contains(self, rectangle: 'QRect', proper: bool = ...) -> bool: ...
    @typing.overload
    def contains(self, ax: int, ay: int, aproper: bool) -> bool: ...
    @typing.overload
    def contains(self, ax: int, ay: int) -> bool: ...
    def __and__(self, r: 'QRect') -> 'QRect': ...
    def __or__(self, r: 'QRect') -> 'QRect': ...
    def moveCenter(self, p: QPoint) -> None: ...
    def normalized(self) -> 'QRect': ...


class QRectF(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, atopLeft: QPointF, asize: 'QSizeF') -> None: ...
    @typing.overload
    def __init__(self, atopLeft: QPointF, abottomRight: QPointF) -> None: ...
    @typing.overload
    def __init__(self, aleft: float, atop: float, awidth: float, aheight: float) -> None: ...
    @typing.overload
    def __init__(self, r: QRect) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QRectF') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __add__(self, rhs: QMarginsF) -> 'QRectF': ...
    def __sub__(self, rhs: QMarginsF) -> 'QRectF': ...
    def transposed(self) -> 'QRectF': ...
    def __isub__(self, margins: QMarginsF) -> 'QRectF': ...
    def __iadd__(self, margins: QMarginsF) -> 'QRectF': ...
    def marginsRemoved(self, margins: QMarginsF) -> 'QRectF': ...
    def marginsAdded(self, margins: QMarginsF) -> 'QRectF': ...
    def toRect(self) -> QRect: ...
    def toAlignedRect(self) -> QRect: ...
    def united(self, r: 'QRectF') -> 'QRectF': ...
    def intersected(self, r: 'QRectF') -> 'QRectF': ...
    def __iand__(self, r: 'QRectF') -> 'QRectF': ...
    def __ior__(self, r: 'QRectF') -> 'QRectF': ...
    def setSize(self, s: 'QSizeF') -> None: ...
    def setHeight(self, ah: float) -> None: ...
    def setWidth(self, aw: float) -> None: ...
    def adjusted(self, xp1: float, yp1: float, xp2: float, yp2: float) -> 'QRectF': ...
    def adjust(self, xp1: float, yp1: float, xp2: float, yp2: float) -> None: ...
    def setCoords(self, xp1: float, yp1: float, xp2: float, yp2: float) -> None: ...
    def getCoords(self) -> typing.Tuple[typing.Optional[float], typing.Optional[float], typing.Optional[float], typing.Optional[float]]: ...
    def setRect(self, ax: float, ay: float, aaw: float, aah: float) -> None: ...
    def getRect(self) -> typing.Tuple[typing.Optional[float], typing.Optional[float], typing.Optional[float], typing.Optional[float]]: ...
    @typing.overload
    def translated(self, dx: float, dy: float) -> 'QRectF': ...
    @typing.overload
    def translated(self, p: QPointF) -> 'QRectF': ...
    @typing.overload
    def moveTo(self, ax: float, ay: float) -> None: ...
    @typing.overload
    def moveTo(self, p: QPointF) -> None: ...
    @typing.overload
    def translate(self, dx: float, dy: float) -> None: ...
    @typing.overload
    def translate(self, p: QPointF) -> None: ...
    def size(self) -> 'QSizeF': ...
    def height(self) -> float: ...
    def width(self) -> float: ...
    def moveCenter(self, p: QPointF) -> None: ...
    def moveBottomRight(self, p: QPointF) -> None: ...
    def moveBottomLeft(self, p: QPointF) -> None: ...
    def moveTopRight(self, p: QPointF) -> None: ...
    def moveTopLeft(self, p: QPointF) -> None: ...
    def moveBottom(self, pos: float) -> None: ...
    def moveRight(self, pos: float) -> None: ...
    def moveTop(self, pos: float) -> None: ...
    def moveLeft(self, pos: float) -> None: ...
    def center(self) -> QPointF: ...
    def setBottomRight(self, p: QPointF) -> None: ...
    def setBottomLeft(self, p: QPointF) -> None: ...
    def setTopRight(self, p: QPointF) -> None: ...
    def setTopLeft(self, p: QPointF) -> None: ...
    def setBottom(self, pos: float) -> None: ...
    def setTop(self, pos: float) -> None: ...
    def setRight(self, pos: float) -> None: ...
    def setLeft(self, pos: float) -> None: ...
    def y(self) -> float: ...
    def x(self) -> float: ...
    def __bool__(self) -> int: ...
    def isValid(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def isNull(self) -> bool: ...
    def intersects(self, r: 'QRectF') -> bool: ...
    @typing.overload
    def __contains__(self, p: QPointF) -> int: ...
    @typing.overload
    def __contains__(self, r: 'QRectF') -> int: ...
    @typing.overload
    def contains(self, p: QPointF) -> bool: ...
    @typing.overload
    def contains(self, r: 'QRectF') -> bool: ...
    @typing.overload
    def contains(self, ax: float, ay: float) -> bool: ...
    def __and__(self, r: 'QRectF') -> 'QRectF': ...
    def __or__(self, r: 'QRectF') -> 'QRectF': ...
    def bottomLeft(self) -> QPointF: ...
    def topRight(self) -> QPointF: ...
    def bottomRight(self) -> QPointF: ...
    def topLeft(self) -> QPointF: ...
    def setY(self, pos: float) -> None: ...
    def setX(self, pos: float) -> None: ...
    def bottom(self) -> float: ...
    def right(self) -> float: ...
    def top(self) -> float: ...
    def left(self) -> float: ...
    def normalized(self) -> 'QRectF': ...
    def __repr__(self) -> str: ...


class QRegularExpression(PyQt6.sip.simplewrapper):

    class WildcardConversionOption(enum.Flag):
        DefaultWildcardConversion = ... # type: QRegularExpression.WildcardConversionOption
        UnanchoredWildcardConversion = ... # type: QRegularExpression.WildcardConversionOption
        NonPathWildcardConversion = ... # type: QRegularExpression.WildcardConversionOption

    class MatchOption(enum.Flag):
        NoMatchOption = ... # type: QRegularExpression.MatchOption
        AnchorAtOffsetMatchOption = ... # type: QRegularExpression.MatchOption
        DontCheckSubjectStringMatchOption = ... # type: QRegularExpression.MatchOption

    class MatchType(enum.Enum):
        NormalMatch = ... # type: QRegularExpression.MatchType
        PartialPreferCompleteMatch = ... # type: QRegularExpression.MatchType
        PartialPreferFirstMatch = ... # type: QRegularExpression.MatchType
        NoMatch = ... # type: QRegularExpression.MatchType

    class PatternOption(enum.Flag):
        NoPatternOption = ... # type: QRegularExpression.PatternOption
        CaseInsensitiveOption = ... # type: QRegularExpression.PatternOption
        DotMatchesEverythingOption = ... # type: QRegularExpression.PatternOption
        MultilineOption = ... # type: QRegularExpression.PatternOption
        ExtendedPatternSyntaxOption = ... # type: QRegularExpression.PatternOption
        InvertedGreedinessOption = ... # type: QRegularExpression.PatternOption
        DontCaptureOption = ... # type: QRegularExpression.PatternOption
        UseUnicodePropertiesOption = ... # type: QRegularExpression.PatternOption

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, pattern: typing.Optional[str], options: 'QRegularExpression.PatternOption' = ...) -> None: ...
    @typing.overload
    def __init__(self, re: 'QRegularExpression') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    @staticmethod
    def fromWildcard(pattern: str, cs: Qt.CaseSensitivity = ..., options: 'QRegularExpression.WildcardConversionOption' = ...) -> 'QRegularExpression': ...
    @staticmethod
    def anchoredPattern(expression: typing.Optional[str]) -> str: ...
    @staticmethod
    def wildcardToRegularExpression(str: str, options: 'QRegularExpression.WildcardConversionOption' = ...) -> str: ...
    def __hash__(self) -> int: ...
    def optimize(self) -> None: ...
    def namedCaptureGroups(self) -> list[str]: ...
    @staticmethod
    def escape(str: typing.Optional[str]) -> str: ...
    def globalMatchView(self, subjectView: str, offset: int = ..., matchType: 'QRegularExpression.MatchType' = ..., matchOptions: 'QRegularExpression.MatchOption' = ...) -> 'QRegularExpressionMatchIterator': ...
    def globalMatch(self, subject: typing.Optional[str], offset: int = ..., matchType: 'QRegularExpression.MatchType' = ..., matchOptions: 'QRegularExpression.MatchOption' = ...) -> 'QRegularExpressionMatchIterator': ...
    def matchView(self, subjectView: str, offset: int = ..., matchType: 'QRegularExpression.MatchType' = ..., matchOptions: 'QRegularExpression.MatchOption' = ...) -> 'QRegularExpressionMatch': ...
    def match(self, subject: typing.Optional[str], offset: int = ..., matchType: 'QRegularExpression.MatchType' = ..., matchOptions: 'QRegularExpression.MatchOption' = ...) -> 'QRegularExpressionMatch': ...
    def captureCount(self) -> int: ...
    def errorString(self) -> str: ...
    def patternErrorOffset(self) -> int: ...
    def isValid(self) -> bool: ...
    def setPattern(self, pattern: typing.Optional[str]) -> None: ...
    def pattern(self) -> str: ...
    def swap(self, re: 'QRegularExpression') -> None: ...
    def __repr__(self) -> str: ...
    def setPatternOptions(self, options: 'QRegularExpression.PatternOption') -> None: ...
    def patternOptions(self) -> 'QRegularExpression.PatternOption': ...


class QRegularExpressionMatch(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, match: 'QRegularExpressionMatch') -> None: ...

    @typing.overload
    def hasCaptured(self, nth: int) -> bool: ...
    @typing.overload
    def hasCaptured(self, name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> bool: ...
    @typing.overload
    def capturedEnd(self, name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> int: ...
    @typing.overload
    def capturedEnd(self, nth: int = ...) -> int: ...
    @typing.overload
    def capturedLength(self, name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> int: ...
    @typing.overload
    def capturedLength(self, nth: int = ...) -> int: ...
    @typing.overload
    def capturedStart(self, name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> int: ...
    @typing.overload
    def capturedStart(self, nth: int = ...) -> int: ...
    def capturedTexts(self) -> list[str]: ...
    @typing.overload
    def captured(self, nth: int = ...) -> str: ...
    @typing.overload
    def captured(self, name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> str: ...
    def lastCapturedIndex(self) -> int: ...
    def isValid(self) -> bool: ...
    def hasPartialMatch(self) -> bool: ...
    def hasMatch(self) -> bool: ...
    def matchOptions(self) -> QRegularExpression.MatchOption: ...
    def matchType(self) -> QRegularExpression.MatchType: ...
    def regularExpression(self) -> QRegularExpression: ...
    def swap(self, match: 'QRegularExpressionMatch') -> None: ...


class QRegularExpressionMatchIterator(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, iterator: 'QRegularExpressionMatchIterator') -> None: ...

    def matchOptions(self) -> QRegularExpression.MatchOption: ...
    def matchType(self) -> QRegularExpression.MatchType: ...
    def regularExpression(self) -> QRegularExpression: ...
    def peekNext(self) -> QRegularExpressionMatch: ...
    def next(self) -> QRegularExpressionMatch: ...
    def hasNext(self) -> bool: ...
    def isValid(self) -> bool: ...
    def swap(self, iterator: 'QRegularExpressionMatchIterator') -> None: ...


class QResource(PyQt6.sip.simplewrapper):

    class Compression(enum.Enum):
        NoCompression = ... # type: QResource.Compression
        ZlibCompression = ... # type: QResource.Compression
        ZstdCompression = ... # type: QResource.Compression

    def __init__(self, fileName: typing.Optional[str] = ..., locale: QLocale = ...) -> None: ...

    def uncompressedData(self) -> QByteArray: ...
    def uncompressedSize(self) -> int: ...
    def compressionAlgorithm(self) -> 'QResource.Compression': ...
    def lastModified(self) -> QDateTime: ...
    def isFile(self) -> bool: ...
    def isDir(self) -> bool: ...
    def children(self) -> list[str]: ...
    @staticmethod
    def unregisterResourceData(rccData: typing.Optional[bytes], mapRoot: typing.Optional[str] = ...) -> bool: ...
    @staticmethod
    def unregisterResource(rccFileName: typing.Optional[str], mapRoot: typing.Optional[str] = ...) -> bool: ...
    @staticmethod
    def registerResourceData(rccData: typing.Optional[bytes], mapRoot: typing.Optional[str] = ...) -> bool: ...
    @staticmethod
    def registerResource(rccFileName: typing.Optional[str], mapRoot: typing.Optional[str] = ...) -> bool: ...
    def size(self) -> int: ...
    def setLocale(self, locale: QLocale) -> None: ...
    def setFileName(self, file: typing.Optional[str]) -> None: ...
    def locale(self) -> QLocale: ...
    def isValid(self) -> bool: ...
    def fileName(self) -> str: ...
    def data(self) -> bytes: ...
    def absoluteFilePath(self) -> str: ...


class QRunnable(PyQt6.sip.wrapper):

    def __init__(self) -> None: ...

    @staticmethod
    def create(functionToRun: collections.abc.Callable[[], None]) -> typing.Optional['QRunnable']: ...
    def setAutoDelete(self, _autoDelete: bool) -> None: ...
    def autoDelete(self) -> bool: ...
    def run(self) -> None: ...


class QSaveFile(QFileDevice):

    @typing.overload
    def __init__(self, name: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, name: typing.Optional[str], parent: typing.Optional[QObject]) -> None: ...

    def writeData(self, a0: PyQt6.sip.Buffer) -> int: ...
    def directWriteFallback(self) -> bool: ...
    def setDirectWriteFallback(self, enabled: bool) -> None: ...
    def cancelWriting(self) -> None: ...
    def commit(self) -> bool: ...
    def open(self, flags: QIODeviceBase.OpenModeFlag) -> bool: ...
    def setFileName(self, name: typing.Optional[str]) -> None: ...
    def fileName(self) -> str: ...


class QSemaphore(PyQt6.sip.simplewrapper):

    def __init__(self, n: int = ...) -> None: ...

    def available(self) -> int: ...
    def release(self, n: int = ...) -> None: ...
    @typing.overload
    def tryAcquire(self, n: int = ...) -> bool: ...
    @typing.overload
    def tryAcquire(self, n: int, timeout: QDeadlineTimer) -> bool: ...
    @typing.overload
    def tryAcquire(self, n: int, timeout: int) -> bool: ...
    def acquire(self, n: int = ...) -> None: ...


class QSemaphoreReleaser(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, sem: typing.Optional[QSemaphore], n: int = ...) -> None: ...

    def cancel(self) -> typing.Optional[QSemaphore]: ...
    def semaphore(self) -> typing.Optional[QSemaphore]: ...
    def swap(self, other: 'QSemaphoreReleaser') -> None: ...


class QSequentialAnimationGroup(QAnimationGroup):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def updateDirection(self, direction: QAbstractAnimation.Direction) -> None: ...
    def updateState(self, newState: QAbstractAnimation.State, oldState: QAbstractAnimation.State) -> None: ...
    def updateCurrentTime(self, a0: int) -> None: ...
    def event(self, event: typing.Optional[QEvent]) -> bool: ...
    currentAnimationChanged: typing.ClassVar[pyqtSignal]
    def duration(self) -> int: ...
    def currentAnimation(self) -> typing.Optional[QAbstractAnimation]: ...
    def insertPause(self, index: int, msecs: int) -> typing.Optional[QPauseAnimation]: ...
    def addPause(self, msecs: int) -> typing.Optional[QPauseAnimation]: ...


class QSettings(QObject):

    class Scope(enum.Enum):
        UserScope = ... # type: QSettings.Scope
        SystemScope = ... # type: QSettings.Scope

    class Format(enum.Enum):
        NativeFormat = ... # type: QSettings.Format
        IniFormat = ... # type: QSettings.Format
        InvalidFormat = ... # type: QSettings.Format

    class Status(enum.Enum):
        NoError = ... # type: QSettings.Status
        AccessError = ... # type: QSettings.Status
        FormatError = ... # type: QSettings.Status

    @typing.overload
    def __init__(self, organization: typing.Optional[str], application: typing.Optional[str] = ..., parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, scope: 'QSettings.Scope', organization: typing.Optional[str], application: typing.Optional[str] = ..., parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, format: 'QSettings.Format', scope: 'QSettings.Scope', organization: typing.Optional[str], application: typing.Optional[str] = ..., parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, fileName: typing.Optional[str], format: 'QSettings.Format', parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, scope: 'QSettings.Scope', parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def event(self, event: typing.Optional[QEvent]) -> bool: ...
    def setAtomicSyncRequired(self, enable: bool) -> None: ...
    def isAtomicSyncRequired(self) -> bool: ...
    @staticmethod
    def defaultFormat() -> 'QSettings.Format': ...
    @staticmethod
    def setDefaultFormat(format: 'QSettings.Format') -> None: ...
    def applicationName(self) -> str: ...
    def organizationName(self) -> str: ...
    def scope(self) -> 'QSettings.Scope': ...
    def format(self) -> 'QSettings.Format': ...
    @staticmethod
    def setPath(format: 'QSettings.Format', scope: 'QSettings.Scope', path: typing.Optional[str]) -> None: ...
    def fileName(self) -> str: ...
    def fallbacksEnabled(self) -> bool: ...
    def setFallbacksEnabled(self, b: bool) -> None: ...
    def contains(self, key: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> bool: ...
    def remove(self, key: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    def value(self, key: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], defaultValue: typing.Any = ..., type: type = ...) -> typing.Any: ...
    def setValue(self, key: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], value: typing.Any) -> None: ...
    def isWritable(self) -> bool: ...
    def childGroups(self) -> list[str]: ...
    def childKeys(self) -> list[str]: ...
    def allKeys(self) -> list[str]: ...
    def setArrayIndex(self, i: int) -> None: ...
    def endArray(self) -> None: ...
    def beginWriteArray(self, prefix: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], size: int = ...) -> None: ...
    def beginReadArray(self, prefix: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> int: ...
    def group(self) -> str: ...
    def endGroup(self) -> None: ...
    def beginGroup(self, prefix: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    def status(self) -> 'QSettings.Status': ...
    def sync(self) -> None: ...
    def clear(self) -> None: ...


class QSharedMemory(QObject):

    class SharedMemoryError(enum.Enum):
        NoError = ... # type: QSharedMemory.SharedMemoryError
        PermissionDenied = ... # type: QSharedMemory.SharedMemoryError
        InvalidSize = ... # type: QSharedMemory.SharedMemoryError
        KeyError = ... # type: QSharedMemory.SharedMemoryError
        AlreadyExists = ... # type: QSharedMemory.SharedMemoryError
        NotFound = ... # type: QSharedMemory.SharedMemoryError
        LockError = ... # type: QSharedMemory.SharedMemoryError
        OutOfResources = ... # type: QSharedMemory.SharedMemoryError
        UnknownError = ... # type: QSharedMemory.SharedMemoryError

    class AccessMode(enum.Enum):
        ReadOnly = ... # type: QSharedMemory.AccessMode
        ReadWrite = ... # type: QSharedMemory.AccessMode

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, key: 'QNativeIpcKey', parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, key: typing.Optional[str], parent: typing.Optional[QObject] = ...) -> None: ...

    @staticmethod
    def legacyNativeKey(key: typing.Optional[str], type: 'QNativeIpcKey.Type' = ...) -> 'QNativeIpcKey': ...
    @staticmethod
    def platformSafeKey(key: typing.Optional[str], type: 'QNativeIpcKey.Type' = ...) -> 'QNativeIpcKey': ...
    @staticmethod
    def isKeyTypeSupported(type: 'QNativeIpcKey.Type') -> bool: ...
    def nativeIpcKey(self) -> 'QNativeIpcKey': ...
    def nativeKey(self) -> str: ...
    @typing.overload
    def setNativeKey(self, key: 'QNativeIpcKey') -> None: ...
    @typing.overload
    def setNativeKey(self, key: typing.Optional[str], type: 'QNativeIpcKey.Type' = ...) -> None: ...
    def errorString(self) -> str: ...
    def error(self) -> 'QSharedMemory.SharedMemoryError': ...
    def unlock(self) -> bool: ...
    def lock(self) -> bool: ...
    def constData(self) -> PyQt6.sip.voidptr: ...
    def data(self) -> PyQt6.sip.voidptr: ...
    def detach(self) -> bool: ...
    def isAttached(self) -> bool: ...
    def attach(self, mode: 'QSharedMemory.AccessMode' = ...) -> bool: ...
    def size(self) -> int: ...
    def create(self, size: int, mode: 'QSharedMemory.AccessMode' = ...) -> bool: ...
    def key(self) -> str: ...
    def setKey(self, key: typing.Optional[str]) -> None: ...


class QSignalMapper(QObject):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    @typing.overload
    def map(self) -> None: ...
    @typing.overload
    def map(self, sender: typing.Optional[QObject]) -> None: ...
    mappedObject: typing.ClassVar[pyqtSignal]
    mappedString: typing.ClassVar[pyqtSignal]
    mappedInt: typing.ClassVar[pyqtSignal]
    @typing.overload
    def mapping(self, id: int) -> typing.Optional[QObject]: ...
    @typing.overload
    def mapping(self, text: typing.Optional[str]) -> typing.Optional[QObject]: ...
    @typing.overload
    def mapping(self, object: typing.Optional[QObject]) -> typing.Optional[QObject]: ...
    def removeMappings(self, sender: typing.Optional[QObject]) -> None: ...
    @typing.overload
    def setMapping(self, sender: typing.Optional[QObject], id: int) -> None: ...
    @typing.overload
    def setMapping(self, sender: typing.Optional[QObject], text: typing.Optional[str]) -> None: ...
    @typing.overload
    def setMapping(self, sender: typing.Optional[QObject], object: typing.Optional[QObject]) -> None: ...


class QSize(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, w: int, h: int) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QSize') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __add__(self, s2: 'QSize') -> 'QSize': ...
    def __sub__(self, s2: 'QSize') -> 'QSize': ...
    def __mul__(self, c: float) -> 'QSize': ...
    def __rmul__(self, c: float) -> 'QSize': ...
    def __truediv__(self, c: float) -> 'QSize': ...
    def toSizeF(self) -> 'QSizeF': ...
    def shrunkBy(self, m: QMargins) -> 'QSize': ...
    def grownBy(self, m: QMargins) -> 'QSize': ...
    def transposed(self) -> 'QSize': ...
    @typing.overload
    def scaled(self, s: 'QSize', mode: Qt.AspectRatioMode) -> 'QSize': ...
    @typing.overload
    def scaled(self, w: int, h: int, mode: Qt.AspectRatioMode) -> 'QSize': ...
    def boundedTo(self, otherSize: 'QSize') -> 'QSize': ...
    def expandedTo(self, otherSize: 'QSize') -> 'QSize': ...
    def __itruediv__(self, c: float) -> 'QSize': ...
    def __imul__(self, c: float) -> 'QSize': ...
    def __isub__(self, s: 'QSize') -> 'QSize': ...
    def __iadd__(self, s: 'QSize') -> 'QSize': ...
    def setHeight(self, h: int) -> None: ...
    def setWidth(self, w: int) -> None: ...
    def height(self) -> int: ...
    def width(self) -> int: ...
    def __hash__(self) -> int: ...
    def __bool__(self) -> int: ...
    def isValid(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...
    @typing.overload
    def scale(self, s: 'QSize', mode: Qt.AspectRatioMode) -> None: ...
    @typing.overload
    def scale(self, w: int, h: int, mode: Qt.AspectRatioMode) -> None: ...
    def transpose(self) -> None: ...


class QSizeF(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, sz: QSize) -> None: ...
    @typing.overload
    def __init__(self, w: float, h: float) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QSizeF') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __add__(self, s2: 'QSizeF') -> 'QSizeF': ...
    def __sub__(self, s2: 'QSizeF') -> 'QSizeF': ...
    def __mul__(self, c: float) -> 'QSizeF': ...
    def __rmul__(self, c: float) -> 'QSizeF': ...
    def __truediv__(self, c: float) -> 'QSizeF': ...
    def shrunkBy(self, m: QMarginsF) -> 'QSizeF': ...
    def grownBy(self, m: QMarginsF) -> 'QSizeF': ...
    def transposed(self) -> 'QSizeF': ...
    @typing.overload
    def scaled(self, s: 'QSizeF', mode: Qt.AspectRatioMode) -> 'QSizeF': ...
    @typing.overload
    def scaled(self, w: float, h: float, mode: Qt.AspectRatioMode) -> 'QSizeF': ...
    def toSize(self) -> QSize: ...
    def boundedTo(self, otherSize: 'QSizeF') -> 'QSizeF': ...
    def expandedTo(self, otherSize: 'QSizeF') -> 'QSizeF': ...
    def __itruediv__(self, c: float) -> 'QSizeF': ...
    def __imul__(self, c: float) -> 'QSizeF': ...
    def __isub__(self, s: 'QSizeF') -> 'QSizeF': ...
    def __iadd__(self, s: 'QSizeF') -> 'QSizeF': ...
    def setHeight(self, h: float) -> None: ...
    def setWidth(self, w: float) -> None: ...
    def height(self) -> float: ...
    def width(self) -> float: ...
    def __bool__(self) -> int: ...
    def isValid(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...
    @typing.overload
    def scale(self, s: 'QSizeF', mode: Qt.AspectRatioMode) -> None: ...
    @typing.overload
    def scale(self, w: float, h: float, mode: Qt.AspectRatioMode) -> None: ...
    def transpose(self) -> None: ...


class QSocketNotifier(QObject):

    class Type(enum.Enum):
        Read = ... # type: QSocketNotifier.Type
        Write = ... # type: QSocketNotifier.Type
        Exception = ... # type: QSocketNotifier.Type

    @typing.overload
    def __init__(self, a0: 'QSocketNotifier.Type', parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, socket: PyQt6.sip.voidptr, a1: 'QSocketNotifier.Type', parent: typing.Optional[QObject] = ...) -> None: ...

    def event(self, a0: typing.Optional[QEvent]) -> bool: ...
    activated: typing.ClassVar[pyqtSignal]
    def isValid(self) -> bool: ...
    def setSocket(self, socket: PyQt6.sip.voidptr) -> None: ...
    def setEnabled(self, a0: bool) -> None: ...
    def isEnabled(self) -> bool: ...
    def type(self) -> 'QSocketNotifier.Type': ...
    def socket(self) -> PyQt6.sip.voidptr: ...


class QSortFilterProxyModel(QAbstractProxyModel):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    autoAcceptChildRowsChanged: typing.ClassVar[pyqtSignal]
    def setAutoAcceptChildRows(self, accept: bool) -> None: ...
    def autoAcceptChildRows(self) -> bool: ...
    recursiveFilteringEnabledChanged: typing.ClassVar[pyqtSignal]
    filterRoleChanged: typing.ClassVar[pyqtSignal]
    sortRoleChanged: typing.ClassVar[pyqtSignal]
    sortLocaleAwareChanged: typing.ClassVar[pyqtSignal]
    sortCaseSensitivityChanged: typing.ClassVar[pyqtSignal]
    filterCaseSensitivityChanged: typing.ClassVar[pyqtSignal]
    dynamicSortFilterChanged: typing.ClassVar[pyqtSignal]
    def invalidateColumnsFilter(self) -> None: ...
    def invalidateRowsFilter(self) -> None: ...
    def invalidateFilter(self) -> None: ...
    def beginFilterChange(self) -> None: ...
    def setRecursiveFilteringEnabled(self, recursive: bool) -> None: ...
    def isRecursiveFilteringEnabled(self) -> bool: ...
    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def setSortLocaleAware(self, on: bool) -> None: ...
    def isSortLocaleAware(self) -> bool: ...
    def supportedDropActions(self) -> Qt.DropAction: ...
    def mimeTypes(self) -> list[str]: ...
    def setFilterRole(self, role: int) -> None: ...
    def filterRole(self) -> int: ...
    def sortOrder(self) -> Qt.SortOrder: ...
    def sortColumn(self) -> int: ...
    def setSortRole(self, role: int) -> None: ...
    def sortRole(self) -> int: ...
    def setDynamicSortFilter(self, enable: bool) -> None: ...
    def dynamicSortFilter(self) -> bool: ...
    def setSortCaseSensitivity(self, cs: Qt.CaseSensitivity) -> None: ...
    def sortCaseSensitivity(self) -> Qt.CaseSensitivity: ...
    def sort(self, column: int, order: Qt.SortOrder = ...) -> None: ...
    def match(self, start: QModelIndex, role: int, value: typing.Any, hits: int = ..., flags: Qt.MatchFlag = ...) -> list[QModelIndex]: ...
    def span(self, index: QModelIndex) -> QSize: ...
    def buddy(self, index: QModelIndex) -> QModelIndex: ...
    def flags(self, index: QModelIndex) -> Qt.ItemFlag: ...
    def canFetchMore(self, parent: QModelIndex) -> bool: ...
    def fetchMore(self, parent: QModelIndex) -> None: ...
    def removeColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def removeRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def dropMimeData(self, data: typing.Optional[QMimeData], action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def mimeData(self, indexes: collections.abc.Iterable[QModelIndex]) -> typing.Optional[QMimeData]: ...
    def setHeaderData(self, section: int, orientation: Qt.Orientation, value: typing.Any, role: int = ...) -> bool: ...
    def headerData(self, section: int, orientation: Qt.Orientation, role: int = ...) -> typing.Any: ...
    def setData(self, index: QModelIndex, value: typing.Any, role: int = ...) -> bool: ...
    def data(self, index: QModelIndex, role: int = ...) -> typing.Any: ...
    def hasChildren(self, parent: QModelIndex = ...) -> bool: ...
    def columnCount(self, parent: QModelIndex = ...) -> int: ...
    def rowCount(self, parent: QModelIndex = ...) -> int: ...
    @typing.overload
    def parent(self, child: QModelIndex) -> QModelIndex: ...
    @typing.overload
    def parent(self) -> typing.Optional[QObject]: ...
    def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: ...
    def lessThan(self, left: QModelIndex, right: QModelIndex) -> bool: ...
    def filterAcceptsColumn(self, source_column: int, source_parent: QModelIndex) -> bool: ...
    def filterAcceptsRow(self, source_row: int, source_parent: QModelIndex) -> bool: ...
    def setFilterWildcard(self, pattern: typing.Optional[str]) -> None: ...
    @typing.overload
    def setFilterRegularExpression(self, regularExpression: QRegularExpression) -> None: ...
    @typing.overload
    def setFilterRegularExpression(self, pattern: typing.Optional[str]) -> None: ...
    def setFilterFixedString(self, pattern: typing.Optional[str]) -> None: ...
    def invalidate(self) -> None: ...
    def setFilterCaseSensitivity(self, cs: Qt.CaseSensitivity) -> None: ...
    def filterCaseSensitivity(self) -> Qt.CaseSensitivity: ...
    def setFilterKeyColumn(self, column: int) -> None: ...
    def filterKeyColumn(self) -> int: ...
    def filterRegularExpression(self) -> QRegularExpression: ...
    def mapSelectionFromSource(self, sourceSelection: QItemSelection) -> QItemSelection: ...
    def mapSelectionToSource(self, proxySelection: QItemSelection) -> QItemSelection: ...
    def mapFromSource(self, sourceIndex: QModelIndex) -> QModelIndex: ...
    def mapToSource(self, proxyIndex: QModelIndex) -> QModelIndex: ...
    def setSourceModel(self, sourceModel: typing.Optional[QAbstractItemModel]) -> None: ...


class QStandardPaths(PyQt6.sip.simplewrapper):

    class LocateOption(enum.Flag):
        LocateFile = ... # type: QStandardPaths.LocateOption
        LocateDirectory = ... # type: QStandardPaths.LocateOption

    class StandardLocation(enum.Enum):
        DesktopLocation = ... # type: QStandardPaths.StandardLocation
        DocumentsLocation = ... # type: QStandardPaths.StandardLocation
        FontsLocation = ... # type: QStandardPaths.StandardLocation
        ApplicationsLocation = ... # type: QStandardPaths.StandardLocation
        MusicLocation = ... # type: QStandardPaths.StandardLocation
        MoviesLocation = ... # type: QStandardPaths.StandardLocation
        PicturesLocation = ... # type: QStandardPaths.StandardLocation
        TempLocation = ... # type: QStandardPaths.StandardLocation
        HomeLocation = ... # type: QStandardPaths.StandardLocation
        CacheLocation = ... # type: QStandardPaths.StandardLocation
        GenericDataLocation = ... # type: QStandardPaths.StandardLocation
        RuntimeLocation = ... # type: QStandardPaths.StandardLocation
        ConfigLocation = ... # type: QStandardPaths.StandardLocation
        DownloadLocation = ... # type: QStandardPaths.StandardLocation
        GenericCacheLocation = ... # type: QStandardPaths.StandardLocation
        GenericConfigLocation = ... # type: QStandardPaths.StandardLocation
        AppDataLocation = ... # type: QStandardPaths.StandardLocation
        AppLocalDataLocation = ... # type: QStandardPaths.StandardLocation
        AppConfigLocation = ... # type: QStandardPaths.StandardLocation
        PublicShareLocation = ... # type: QStandardPaths.StandardLocation
        TemplatesLocation = ... # type: QStandardPaths.StandardLocation
        StateLocation = ... # type: QStandardPaths.StandardLocation
        GenericStateLocation = ... # type: QStandardPaths.StandardLocation

    def __init__(self, a0: 'QStandardPaths') -> None: ...

    @staticmethod
    def setTestModeEnabled(testMode: bool) -> None: ...
    @staticmethod
    def findExecutable(executableName: typing.Optional[str], paths: collections.abc.Iterable[typing.Optional[str]] = ...) -> str: ...
    @staticmethod
    def displayName(type: 'QStandardPaths.StandardLocation') -> str: ...
    @staticmethod
    def locateAll(type: 'QStandardPaths.StandardLocation', fileName: typing.Optional[str], options: 'QStandardPaths.LocateOption' = ...) -> list[str]: ...
    @staticmethod
    def locate(type: 'QStandardPaths.StandardLocation', fileName: typing.Optional[str], options: 'QStandardPaths.LocateOption' = ...) -> str: ...
    @staticmethod
    def standardLocations(type: 'QStandardPaths.StandardLocation') -> list[str]: ...
    @staticmethod
    def writableLocation(type: 'QStandardPaths.StandardLocation') -> str: ...


class QStorageInfo(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, path: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, dir: QDir) -> None: ...
    @typing.overload
    def __init__(self, other: 'QStorageInfo') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def subvolume(self) -> QByteArray: ...
    def blockSize(self) -> int: ...
    def isRoot(self) -> bool: ...
    @staticmethod
    def root() -> 'QStorageInfo': ...
    @staticmethod
    def mountedVolumes() -> list['QStorageInfo']: ...
    def refresh(self) -> None: ...
    def isValid(self) -> bool: ...
    def isReady(self) -> bool: ...
    def isReadOnly(self) -> bool: ...
    def bytesAvailable(self) -> int: ...
    def bytesFree(self) -> int: ...
    def bytesTotal(self) -> int: ...
    def displayName(self) -> str: ...
    def name(self) -> str: ...
    def fileSystemType(self) -> QByteArray: ...
    def device(self) -> QByteArray: ...
    def rootPath(self) -> str: ...
    def setPath(self, path: typing.Optional[str]) -> None: ...
    def swap(self, other: 'QStorageInfo') -> None: ...


class QStringConverterBase(PyQt6.sip.simplewrapper):

    class Flag(enum.Flag):
        Default = ... # type: QStringConverterBase.Flag
        Stateless = ... # type: QStringConverterBase.Flag
        ConvertInvalidToNull = ... # type: QStringConverterBase.Flag
        WriteBom = ... # type: QStringConverterBase.Flag
        ConvertInitialBom = ... # type: QStringConverterBase.Flag
        UsesIcu = ... # type: QStringConverterBase.Flag

    def __init__(self) -> None: ...


class QStringConverter(QStringConverterBase):

    class Encoding(enum.Enum):
        Utf8 = ... # type: QStringConverter.Encoding
        Utf16 = ... # type: QStringConverter.Encoding
        Utf16LE = ... # type: QStringConverter.Encoding
        Utf16BE = ... # type: QStringConverter.Encoding
        Utf32 = ... # type: QStringConverter.Encoding
        Utf32LE = ... # type: QStringConverter.Encoding
        Utf32BE = ... # type: QStringConverter.Encoding
        Latin1 = ... # type: QStringConverter.Encoding
        System = ... # type: QStringConverter.Encoding

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, encoding: 'QStringConverter.Encoding', f: QStringConverterBase.Flag) -> None: ...
    @typing.overload
    def __init__(self, name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], f: QStringConverterBase.Flag) -> None: ...

    @staticmethod
    def availableCodecs() -> list[str]: ...
    @staticmethod
    def nameForEncoding(e: 'QStringConverter.Encoding') -> typing.Optional[str]: ...
    def name(self) -> typing.Optional[str]: ...
    def hasError(self) -> bool: ...
    def resetState(self) -> None: ...
    def isValid(self) -> bool: ...


class QStringEncoder(QStringConverter):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, encoding: QStringConverter.Encoding, flags: QStringConverterBase.Flag = ...) -> None: ...
    @typing.overload
    def __init__(self, name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], flags: QStringConverterBase.Flag = ...) -> None: ...

    def encode(self, in_: str) -> QByteArray: ...
    def __call__(self, in_: str) -> QByteArray: ...


class QStringDecoder(QStringConverter):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, encoding: QStringConverter.Encoding, flags: QStringConverterBase.Flag = ...) -> None: ...
    @typing.overload
    def __init__(self, name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], flags: QStringConverterBase.Flag = ...) -> None: ...

    @staticmethod
    def decoderForHtml(data: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> 'QStringDecoder': ...
    def decode(self, ba: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> str: ...
    def __call__(self, ba: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> str: ...


class QStringListModel(QAbstractListModel):

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, strings: collections.abc.Iterable[typing.Optional[str]], parent: typing.Optional[QObject] = ...) -> None: ...

    def clearItemData(self, index: QModelIndex) -> bool: ...
    def setItemData(self, index: QModelIndex, roles: dict[int, typing.Any]) -> bool: ...
    def itemData(self, index: QModelIndex) -> dict[int, typing.Any]: ...
    def moveRows(self, sourceParent: QModelIndex, sourceRow: int, count: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def supportedDropActions(self) -> Qt.DropAction: ...
    def sort(self, column: int, order: Qt.SortOrder = ...) -> None: ...
    def setStringList(self, strings: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    def stringList(self) -> list[str]: ...
    def removeRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def flags(self, index: QModelIndex) -> Qt.ItemFlag: ...
    def setData(self, index: QModelIndex, value: typing.Any, role: int = ...) -> bool: ...
    def data(self, index: QModelIndex, role: int = ...) -> typing.Any: ...
    def rowCount(self, parent: QModelIndex = ...) -> int: ...


class QSysInfo(PyQt6.sip.simplewrapper):

    class Endian(enum.Enum):
        BigEndian = ... # type: QSysInfo.Endian
        LittleEndian = ... # type: QSysInfo.Endian
        ByteOrder = ... # type: QSysInfo.Endian

    class Sizes(enum.Enum):
        WordSize = ... # type: QSysInfo.Sizes

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QSysInfo') -> None: ...

    @staticmethod
    def bootUniqueId() -> QByteArray: ...
    @staticmethod
    def machineUniqueId() -> QByteArray: ...
    @staticmethod
    def machineHostName() -> str: ...
    @staticmethod
    def prettyProductName() -> str: ...
    @staticmethod
    def productVersion() -> str: ...
    @staticmethod
    def productType() -> str: ...
    @staticmethod
    def kernelVersion() -> str: ...
    @staticmethod
    def kernelType() -> str: ...
    @staticmethod
    def buildAbi() -> str: ...
    @staticmethod
    def currentCpuArchitecture() -> str: ...
    @staticmethod
    def buildCpuArchitecture() -> str: ...


class QSystemSemaphore(PyQt6.sip.simplewrapper):

    class SystemSemaphoreError(enum.Enum):
        NoError = ... # type: QSystemSemaphore.SystemSemaphoreError
        PermissionDenied = ... # type: QSystemSemaphore.SystemSemaphoreError
        KeyError = ... # type: QSystemSemaphore.SystemSemaphoreError
        AlreadyExists = ... # type: QSystemSemaphore.SystemSemaphoreError
        NotFound = ... # type: QSystemSemaphore.SystemSemaphoreError
        OutOfResources = ... # type: QSystemSemaphore.SystemSemaphoreError
        UnknownError = ... # type: QSystemSemaphore.SystemSemaphoreError

    class AccessMode(enum.Enum):
        Open = ... # type: QSystemSemaphore.AccessMode
        Create = ... # type: QSystemSemaphore.AccessMode

    @typing.overload
    def __init__(self, key: 'QNativeIpcKey', initialValue: int = ..., mode: 'QSystemSemaphore.AccessMode' = ...) -> None: ...
    @typing.overload
    def __init__(self, key: typing.Optional[str], initialValue: int = ..., mode: 'QSystemSemaphore.AccessMode' = ...) -> None: ...

    @staticmethod
    def legacyNativeKey(key: typing.Optional[str], type: 'QNativeIpcKey.Type' = ...) -> 'QNativeIpcKey': ...
    @staticmethod
    def platformSafeKey(key: typing.Optional[str], type: 'QNativeIpcKey.Type' = ...) -> 'QNativeIpcKey': ...
    @staticmethod
    def isKeyTypeSupported(type: 'QNativeIpcKey.Type') -> bool: ...
    def nativeIpcKey(self) -> 'QNativeIpcKey': ...
    @typing.overload
    def setNativeKey(self, key: 'QNativeIpcKey', initialValue: int = ..., mode: 'QSystemSemaphore.AccessMode' = ...) -> None: ...
    @typing.overload
    def setNativeKey(self, key: typing.Optional[str], initialValue: int = ..., mode: 'QSystemSemaphore.AccessMode' = ..., type: 'QNativeIpcKey.Type' = ...) -> None: ...
    def errorString(self) -> str: ...
    def error(self) -> 'QSystemSemaphore.SystemSemaphoreError': ...
    def release(self, n: int = ...) -> bool: ...
    def acquire(self) -> bool: ...
    def key(self) -> str: ...
    def setKey(self, key: typing.Optional[str], initialValue: int = ..., mode: 'QSystemSemaphore.AccessMode' = ...) -> None: ...


class QTemporaryDir(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, templateName: typing.Optional[str]) -> None: ...

    def swap(self, other: 'QTemporaryDir') -> None: ...
    def filePath(self, fileName: typing.Optional[str]) -> str: ...
    def errorString(self) -> str: ...
    def path(self) -> str: ...
    def remove(self) -> bool: ...
    def setAutoRemove(self, b: bool) -> None: ...
    def autoRemove(self) -> bool: ...
    def isValid(self) -> bool: ...


class QTemporaryFile(QFile):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, templateName: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, parent: typing.Optional[QObject]) -> None: ...
    @typing.overload
    def __init__(self, templateName: typing.Optional[str], parent: typing.Optional[QObject]) -> None: ...

    def rename(self, newName: typing.Optional[str]) -> bool: ...
    @typing.overload
    @staticmethod
    def createNativeFile(fileName: typing.Optional[str]) -> typing.Optional['QTemporaryFile']: ...
    @typing.overload
    @staticmethod
    def createNativeFile(file: QFile) -> typing.Optional['QTemporaryFile']: ...
    def setFileTemplate(self, name: typing.Optional[str]) -> None: ...
    def fileTemplate(self) -> str: ...
    def fileName(self) -> str: ...
    @typing.overload
    def open(self) -> bool: ...
    @typing.overload
    def open(self, flags: QIODeviceBase.OpenModeFlag) -> bool: ...
    def setAutoRemove(self, b: bool) -> None: ...
    def autoRemove(self) -> bool: ...


class QTextBoundaryFinder(PyQt6.sip.simplewrapper):

    class BoundaryType(enum.Enum):
        Grapheme = ... # type: QTextBoundaryFinder.BoundaryType
        Word = ... # type: QTextBoundaryFinder.BoundaryType
        Line = ... # type: QTextBoundaryFinder.BoundaryType
        Sentence = ... # type: QTextBoundaryFinder.BoundaryType

    class BoundaryReason(enum.Flag):
        NotAtBoundary = ... # type: QTextBoundaryFinder.BoundaryReason
        SoftHyphen = ... # type: QTextBoundaryFinder.BoundaryReason
        BreakOpportunity = ... # type: QTextBoundaryFinder.BoundaryReason
        StartOfItem = ... # type: QTextBoundaryFinder.BoundaryReason
        EndOfItem = ... # type: QTextBoundaryFinder.BoundaryReason
        MandatoryBreak = ... # type: QTextBoundaryFinder.BoundaryReason

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: 'QTextBoundaryFinder') -> None: ...
    @typing.overload
    def __init__(self, type: 'QTextBoundaryFinder.BoundaryType', string: typing.Optional[str]) -> None: ...

    def boundaryReasons(self) -> 'QTextBoundaryFinder.BoundaryReason': ...
    def isAtBoundary(self) -> bool: ...
    def toPreviousBoundary(self) -> int: ...
    def toNextBoundary(self) -> int: ...
    def setPosition(self, position: int) -> None: ...
    def position(self) -> int: ...
    def toEnd(self) -> None: ...
    def toStart(self) -> None: ...
    def string(self) -> str: ...
    def type(self) -> 'QTextBoundaryFinder.BoundaryType': ...
    def isValid(self) -> bool: ...


class QTextStream(QIODeviceBase):

    class NumberFlag(enum.Flag):
        ShowBase = ... # type: QTextStream.NumberFlag
        ForcePoint = ... # type: QTextStream.NumberFlag
        ForceSign = ... # type: QTextStream.NumberFlag
        UppercaseBase = ... # type: QTextStream.NumberFlag
        UppercaseDigits = ... # type: QTextStream.NumberFlag

    class Status(enum.Enum):
        Ok = ... # type: QTextStream.Status
        ReadPastEnd = ... # type: QTextStream.Status
        ReadCorruptData = ... # type: QTextStream.Status
        WriteFailed = ... # type: QTextStream.Status

    class FieldAlignment(enum.Enum):
        AlignLeft = ... # type: QTextStream.FieldAlignment
        AlignRight = ... # type: QTextStream.FieldAlignment
        AlignCenter = ... # type: QTextStream.FieldAlignment
        AlignAccountingStyle = ... # type: QTextStream.FieldAlignment

    class RealNumberNotation(enum.Enum):
        SmartNotation = ... # type: QTextStream.RealNumberNotation
        FixedNotation = ... # type: QTextStream.RealNumberNotation
        ScientificNotation = ... # type: QTextStream.RealNumberNotation

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, device: typing.Optional[QIODevice]) -> None: ...
    @typing.overload
    def __init__(self, array: typing.Optional[QByteArray], mode: QIODeviceBase.OpenModeFlag = ...) -> None: ...

    @typing.overload
    def __lshift__(self, s: str) -> 'QTextStream': ...
    @typing.overload
    def __lshift__(self, array: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> 'QTextStream': ...
    @typing.overload
    def __lshift__(self, f: float) -> 'QTextStream': ...
    @typing.overload
    def __lshift__(self, i: int) -> 'QTextStream': ...
    @typing.overload
    def __lshift__(self, m: 'QTextStreamManipulator') -> 'QTextStream': ...
    def __rshift__(self, array: QByteArray) -> 'QTextStream': ...
    def realNumberPrecision(self) -> int: ...
    def setRealNumberPrecision(self, precision: int) -> None: ...
    def realNumberNotation(self) -> 'QTextStream.RealNumberNotation': ...
    def setRealNumberNotation(self, notation: 'QTextStream.RealNumberNotation') -> None: ...
    def integerBase(self) -> int: ...
    def setIntegerBase(self, base: int) -> None: ...
    def numberFlags(self) -> 'QTextStream.NumberFlag': ...
    def setNumberFlags(self, flags: 'QTextStream.NumberFlag') -> None: ...
    def fieldWidth(self) -> int: ...
    def setFieldWidth(self, width: int) -> None: ...
    def padChar(self) -> str: ...
    def setPadChar(self, ch: str) -> None: ...
    def fieldAlignment(self) -> 'QTextStream.FieldAlignment': ...
    def setFieldAlignment(self, alignment: 'QTextStream.FieldAlignment') -> None: ...
    def read(self, maxlen: int) -> str: ...
    def readAll(self) -> str: ...
    def readLine(self, maxLength: int = ...) -> str: ...
    def skipWhiteSpace(self) -> None: ...
    def pos(self) -> int: ...
    def seek(self, pos: int) -> bool: ...
    def flush(self) -> None: ...
    def reset(self) -> None: ...
    def atEnd(self) -> bool: ...
    def resetStatus(self) -> None: ...
    def setStatus(self, status: 'QTextStream.Status') -> None: ...
    def status(self) -> 'QTextStream.Status': ...
    def device(self) -> typing.Optional[QIODevice]: ...
    def setDevice(self, device: typing.Optional[QIODevice]) -> None: ...
    def locale(self) -> QLocale: ...
    def setLocale(self, locale: QLocale) -> None: ...
    def generateByteOrderMark(self) -> bool: ...
    def setGenerateByteOrderMark(self, generate: bool) -> None: ...
    def autoDetectUnicode(self) -> bool: ...
    def setAutoDetectUnicode(self, enabled: bool) -> None: ...
    def encoding(self) -> QStringConverter.Encoding: ...
    def setEncoding(self, encoding: QStringConverter.Encoding) -> None: ...


class QTextStreamManipulator(PyQt6.sip.simplewrapper): ...


class QThread(QObject):

    class QualityOfService(enum.Enum):
        Auto = ... # type: QThread.QualityOfService
        High = ... # type: QThread.QualityOfService
        Eco = ... # type: QThread.QualityOfService

    class Priority(enum.Enum):
        IdlePriority = ... # type: QThread.Priority
        LowestPriority = ... # type: QThread.Priority
        LowPriority = ... # type: QThread.Priority
        NormalPriority = ... # type: QThread.Priority
        HighPriority = ... # type: QThread.Priority
        HighestPriority = ... # type: QThread.Priority
        TimeCriticalPriority = ... # type: QThread.Priority
        InheritPriority = ... # type: QThread.Priority

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def serviceLevel(self) -> 'QThread.QualityOfService': ...
    def setServiceLevel(self, serviceLevel: 'QThread.QualityOfService') -> None: ...
    def isCurrentThread(self) -> bool: ...
    @staticmethod
    def isMainThread() -> bool: ...
    def loopLevel(self) -> int: ...
    def isInterruptionRequested(self) -> bool: ...
    def requestInterruption(self) -> None: ...
    def setEventDispatcher(self, eventDispatcher: typing.Optional[QAbstractEventDispatcher]) -> None: ...
    def eventDispatcher(self) -> typing.Optional[QAbstractEventDispatcher]: ...
    @staticmethod
    def usleep(a0: int) -> None: ...
    @staticmethod
    def msleep(a0: int) -> None: ...
    @staticmethod
    def sleep(a0: int) -> None: ...
    def event(self, event: typing.Optional[QEvent]) -> bool: ...
    @staticmethod
    def setTerminationEnabled(enabled: bool = ...) -> None: ...
    def exec(self) -> int: ...
    def run(self) -> None: ...
    finished: typing.ClassVar[pyqtSignal]
    started: typing.ClassVar[pyqtSignal]
    @typing.overload
    def wait(self, deadline: QDeadlineTimer = ...) -> bool: ...
    @typing.overload
    def wait(self, time: int) -> bool: ...
    def quit(self) -> None: ...
    def terminate(self) -> None: ...
    def start(self, priority: 'QThread.Priority' = ...) -> None: ...
    def exit(self, returnCode: int = ...) -> None: ...
    def stackSize(self) -> int: ...
    def setStackSize(self, stackSize: int) -> None: ...
    def priority(self) -> 'QThread.Priority': ...
    def setPriority(self, priority: 'QThread.Priority') -> None: ...
    def isRunning(self) -> bool: ...
    def isFinished(self) -> bool: ...
    @staticmethod
    def yieldCurrentThread() -> None: ...
    @staticmethod
    def idealThreadCount() -> int: ...
    @staticmethod
    def currentThreadId() -> typing.Optional[PyQt6.sip.voidptr]: ...
    @staticmethod
    def currentThread() -> typing.Optional['QThread']: ...


class QThreadPool(QObject):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def serviceLevel(self) -> QThread.QualityOfService: ...
    def setServiceLevel(self, serviceLevel: QThread.QualityOfService) -> None: ...
    @typing.overload
    def startOnReservedThread(self, runnable: typing.Optional[QRunnable]) -> None: ...
    @typing.overload
    def startOnReservedThread(self, functionToRun: collections.abc.Callable[[], None]) -> None: ...
    def threadPriority(self) -> QThread.Priority: ...
    def setThreadPriority(self, priority: QThread.Priority) -> None: ...
    def contains(self, thread: typing.Optional[QThread]) -> bool: ...
    def stackSize(self) -> int: ...
    def setStackSize(self, stackSize: int) -> None: ...
    def clear(self) -> None: ...
    @typing.overload
    def waitForDone(self, deadline: QDeadlineTimer) -> bool: ...
    @typing.overload
    def waitForDone(self, msecs: int = ...) -> bool: ...
    def releaseThread(self) -> None: ...
    def reserveThread(self) -> None: ...
    def activeThreadCount(self) -> int: ...
    def setMaxThreadCount(self, maxThreadCount: int) -> None: ...
    def maxThreadCount(self) -> int: ...
    def setExpiryTimeout(self, expiryTimeout: int) -> None: ...
    def expiryTimeout(self) -> int: ...
    def tryTake(self, runnable: typing.Optional[QRunnable]) -> bool: ...
    @typing.overload
    def tryStart(self, runnable: typing.Optional[QRunnable]) -> bool: ...
    @typing.overload
    def tryStart(self, functionToRun: collections.abc.Callable[[], None]) -> bool: ...
    @typing.overload
    def start(self, runnable: typing.Optional[QRunnable], priority: int = ...) -> None: ...
    @typing.overload
    def start(self, functionToRun: collections.abc.Callable[[], None], priority: int = ...) -> None: ...
    @staticmethod
    def globalInstance() -> typing.Optional['QThreadPool']: ...


class QTimeLine(QObject):

    class State(enum.Enum):
        NotRunning = ... # type: QTimeLine.State
        Paused = ... # type: QTimeLine.State
        Running = ... # type: QTimeLine.State

    class Direction(enum.Enum):
        Forward = ... # type: QTimeLine.Direction
        Backward = ... # type: QTimeLine.Direction

    def __init__(self, duration: int = ..., parent: typing.Optional[QObject] = ...) -> None: ...

    def setEasingCurve(self, curve: typing.Union[QEasingCurve, QEasingCurve.Type]) -> None: ...
    def easingCurve(self) -> QEasingCurve: ...
    def timerEvent(self, event: typing.Optional[QTimerEvent]) -> None: ...
    valueChanged: typing.ClassVar[pyqtSignal]
    stateChanged: typing.ClassVar[pyqtSignal]
    frameChanged: typing.ClassVar[pyqtSignal]
    finished: typing.ClassVar[pyqtSignal]
    def toggleDirection(self) -> None: ...
    def stop(self) -> None: ...
    def start(self) -> None: ...
    def setPaused(self, paused: bool) -> None: ...
    def setCurrentTime(self, msec: int) -> None: ...
    def resume(self) -> None: ...
    def valueForTime(self, msec: int) -> float: ...
    def frameForTime(self, msec: int) -> int: ...
    def currentValue(self) -> float: ...
    def currentFrame(self) -> int: ...
    def currentTime(self) -> int: ...
    def setUpdateInterval(self, interval: int) -> None: ...
    def updateInterval(self) -> int: ...
    def setFrameRange(self, startFrame: int, endFrame: int) -> None: ...
    def setEndFrame(self, frame: int) -> None: ...
    def endFrame(self) -> int: ...
    def setStartFrame(self, frame: int) -> None: ...
    def startFrame(self) -> int: ...
    def setDuration(self, duration: int) -> None: ...
    def duration(self) -> int: ...
    def setDirection(self, direction: 'QTimeLine.Direction') -> None: ...
    def direction(self) -> 'QTimeLine.Direction': ...
    def setLoopCount(self, count: int) -> None: ...
    def loopCount(self) -> int: ...
    def state(self) -> 'QTimeLine.State': ...


class QTimer(QObject):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def id(self) -> int: ...
    def remainingTime(self) -> int: ...
    def timerType(self) -> Qt.TimerType: ...
    def setTimerType(self, atype: Qt.TimerType) -> None: ...
    def timerEvent(self, a0: typing.Optional[QTimerEvent]) -> None: ...
    timeout: typing.ClassVar[pyqtSignal]
    def stop(self) -> None: ...
    @typing.overload
    def start(self, msec: int) -> None: ...
    @typing.overload
    def start(self) -> None: ...
    @typing.overload
    @staticmethod
    def singleShot(msec: int, slot: PYQT_SLOT) -> None: ...
    @typing.overload
    @staticmethod
    def singleShot(msec: int, timerType: Qt.TimerType, slot: PYQT_SLOT) -> None: ...
    def setSingleShot(self, asingleShot: bool) -> None: ...
    def isSingleShot(self) -> bool: ...
    def interval(self) -> int: ...
    def setInterval(self, msec: int) -> None: ...
    def timerId(self) -> int: ...
    def isActive(self) -> bool: ...


class QTimeZone(PyQt6.sip.simplewrapper):

    class Initialization(enum.Enum):
        LocalTime = ... # type: QTimeZone.Initialization
        UTC = ... # type: QTimeZone.Initialization

    class NameType(enum.Enum):
        DefaultName = ... # type: QTimeZone.NameType
        LongName = ... # type: QTimeZone.NameType
        ShortName = ... # type: QTimeZone.NameType
        OffsetName = ... # type: QTimeZone.NameType

    class TimeType(enum.Enum):
        StandardTime = ... # type: QTimeZone.TimeType
        DaylightTime = ... # type: QTimeZone.TimeType
        GenericTime = ... # type: QTimeZone.TimeType

    class OffsetData(PyQt6.sip.simplewrapper):

        abbreviation = ... # type: typing.Optional[str]
        atUtc = ... # type: typing.Union[QDateTime, datetime.datetime]
        daylightTimeOffset = ... # type: int
        offsetFromUtc = ... # type: int
        standardTimeOffset = ... # type: int

        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, a0: 'QTimeZone.OffsetData') -> None: ...

    MaxUtcOffsetSecs = ... # type: int
    MinUtcOffsetSecs = ... # type: int

    @typing.overload
    def __init__(self, spec: 'QTimeZone.Initialization') -> None: ...
    @typing.overload
    def __init__(self, zoneId: typing.Union[QByteArray, bytes, bytearray, memoryview], offsetSeconds: int, name: typing.Optional[str], abbreviation: typing.Optional[str], territory: QLocale.Country = ..., comment: typing.Optional[str] = ...) -> None: ...
    @typing.overload
    def __init__(self, ianaId: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> None: ...
    @typing.overload
    def __init__(self, offsetSeconds: int) -> None: ...
    @typing.overload
    def __init__(self, other: 'QTimeZone') -> None: ...
    @typing.overload
    def __init__(self) -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def hasAlternativeName(self, alias: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> bool: ...
    def asBackendZone(self) -> 'QTimeZone': ...
    @typing.overload
    def isUtcOrFixedOffset(self) -> bool: ...
    @typing.overload
    @staticmethod
    def isUtcOrFixedOffset(spec: Qt.TimeSpec) -> bool: ...
    def fixedSecondsAheadOfUtc(self) -> int: ...
    def timeSpec(self) -> Qt.TimeSpec: ...
    @staticmethod
    def fromSecondsAheadOfUtc(offset: int) -> 'QTimeZone': ...
    @staticmethod
    def utc() -> 'QTimeZone': ...
    @staticmethod
    def systemTimeZone() -> 'QTimeZone': ...
    @typing.overload
    @staticmethod
    def windowsIdToIanaIds(windowsId: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> list[QByteArray]: ...
    @typing.overload
    @staticmethod
    def windowsIdToIanaIds(windowsId: typing.Union[QByteArray, bytes, bytearray, memoryview], territory: QLocale.Country) -> list[QByteArray]: ...
    @typing.overload
    @staticmethod
    def windowsIdToDefaultIanaId(windowsId: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> QByteArray: ...
    @typing.overload
    @staticmethod
    def windowsIdToDefaultIanaId(windowsId: typing.Union[QByteArray, bytes, bytearray, memoryview], territory: QLocale.Country) -> QByteArray: ...
    @staticmethod
    def ianaIdToWindowsId(ianaId: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> QByteArray: ...
    @typing.overload
    @staticmethod
    def availableTimeZoneIds(territory: QLocale.Country) -> list[QByteArray]: ...
    @typing.overload
    @staticmethod
    def availableTimeZoneIds(offsetSeconds: int) -> list[QByteArray]: ...
    @typing.overload
    @staticmethod
    def availableTimeZoneIds() -> list[QByteArray]: ...
    @staticmethod
    def isTimeZoneIdAvailable(ianaId: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> bool: ...
    @staticmethod
    def systemTimeZoneId() -> QByteArray: ...
    def transitions(self, fromDateTime: typing.Union[QDateTime, datetime.datetime], toDateTime: typing.Union[QDateTime, datetime.datetime]) -> list['QTimeZone.OffsetData']: ...
    def previousTransition(self, beforeDateTime: typing.Union[QDateTime, datetime.datetime]) -> 'QTimeZone.OffsetData': ...
    def nextTransition(self, afterDateTime: typing.Union[QDateTime, datetime.datetime]) -> 'QTimeZone.OffsetData': ...
    def hasTransitions(self) -> bool: ...
    def offsetData(self, forDateTime: typing.Union[QDateTime, datetime.datetime]) -> 'QTimeZone.OffsetData': ...
    def isDaylightTime(self, atDateTime: typing.Union[QDateTime, datetime.datetime]) -> bool: ...
    def hasDaylightTime(self) -> bool: ...
    def daylightTimeOffset(self, atDateTime: typing.Union[QDateTime, datetime.datetime]) -> int: ...
    def standardTimeOffset(self, atDateTime: typing.Union[QDateTime, datetime.datetime]) -> int: ...
    def offsetFromUtc(self, atDateTime: typing.Union[QDateTime, datetime.datetime]) -> int: ...
    def abbreviation(self, atDateTime: typing.Union[QDateTime, datetime.datetime]) -> str: ...
    @typing.overload
    def displayName(self, atDateTime: typing.Union[QDateTime, datetime.datetime], nameType: 'QTimeZone.NameType' = ..., locale: QLocale = ...) -> str: ...
    @typing.overload
    def displayName(self, timeType: 'QTimeZone.TimeType', nameType: 'QTimeZone.NameType' = ..., locale: QLocale = ...) -> str: ...
    def comment(self) -> str: ...
    def territory(self) -> QLocale.Country: ...
    def country(self) -> QLocale.Country: ...
    def id(self) -> QByteArray: ...
    def isValid(self) -> bool: ...
    def swap(self, other: 'QTimeZone') -> None: ...


class QNativeIpcKey(PyQt6.sip.simplewrapper):

    class Type(enum.Enum):
        SystemV = ... # type: QNativeIpcKey.Type
        PosixRealtime = ... # type: QNativeIpcKey.Type
        Windows = ... # type: QNativeIpcKey.Type

    DefaultTypeForOs = ... # type: 'QNativeIpcKey.Type'

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, type: 'QNativeIpcKey.Type') -> None: ...
    @typing.overload
    def __init__(self, k: typing.Optional[str], type: 'QNativeIpcKey.Type' = ...) -> None: ...
    @typing.overload
    def __init__(self, other: 'QNativeIpcKey') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __hash__(self) -> int: ...
    @staticmethod
    def fromString(string: typing.Optional[str]) -> 'QNativeIpcKey': ...
    def toString(self) -> str: ...
    def setNativeKey(self, newKey: typing.Optional[str]) -> None: ...
    def nativeKey(self) -> str: ...
    def setType(self, type: 'QNativeIpcKey.Type') -> None: ...
    def type(self) -> 'QNativeIpcKey.Type': ...
    def isValid(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def swap(self, other: 'QNativeIpcKey') -> None: ...
    @staticmethod
    def legacyDefaultTypeForOs() -> 'QNativeIpcKey.Type': ...


class QTranslator(QObject):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def filePath(self) -> str: ...
    def language(self) -> str: ...
    def loadFromData(self, data: typing.Optional[PyQt6.sip.array[bytes]], directory: typing.Optional[str] = ...) -> bool: ...
    @typing.overload
    def load(self, fileName: typing.Optional[str], directory: typing.Optional[str] = ..., searchDelimiters: typing.Optional[str] = ..., suffix: typing.Optional[str] = ...) -> bool: ...
    @typing.overload
    def load(self, locale: QLocale, fileName: typing.Optional[str], prefix: typing.Optional[str] = ..., directory: typing.Optional[str] = ..., suffix: typing.Optional[str] = ...) -> bool: ...
    def isEmpty(self) -> bool: ...
    def translate(self, context: typing.Optional[str], sourceText: typing.Optional[str], disambiguation: typing.Optional[str] = ..., n: int = ...) -> str: ...


class QTransposeProxyModel(QAbstractProxyModel):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def sort(self, column: int, order: Qt.SortOrder = ...) -> None: ...
    def moveColumns(self, sourceParent: QModelIndex, sourceColumn: int, count: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def removeColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def moveRows(self, sourceParent: QModelIndex, sourceRow: int, count: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def removeRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: ...
    def parent(self, index: QModelIndex) -> QModelIndex: ...
    def mapToSource(self, proxyIndex: QModelIndex) -> QModelIndex: ...
    def mapFromSource(self, sourceIndex: QModelIndex) -> QModelIndex: ...
    def itemData(self, index: QModelIndex) -> dict[int, typing.Any]: ...
    def span(self, index: QModelIndex) -> QSize: ...
    def setItemData(self, index: QModelIndex, roles: dict[int, typing.Any]) -> bool: ...
    def setHeaderData(self, section: int, orientation: Qt.Orientation, value: typing.Any, role: int = ...) -> bool: ...
    def headerData(self, section: int, orientation: Qt.Orientation, role: int = ...) -> typing.Any: ...
    def columnCount(self, parent: QModelIndex = ...) -> int: ...
    def rowCount(self, parent: QModelIndex = ...) -> int: ...
    def setSourceModel(self, newSourceModel: typing.Optional[QAbstractItemModel]) -> None: ...


class QTypeRevision(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QTypeRevision') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __ge__(self, rhs: 'QTypeRevision') -> bool: ...
    def __le__(self, rhs: 'QTypeRevision') -> bool: ...
    def __gt__(self, rhs: 'QTypeRevision') -> bool: ...
    def __lt__(self, rhs: 'QTypeRevision') -> bool: ...
    @staticmethod
    def zero() -> 'QTypeRevision': ...
    @staticmethod
    def fromEncodedVersion(value: int) -> 'QTypeRevision': ...
    def __hash__(self) -> int: ...
    def toEncodedVersion(self) -> int: ...
    def isValid(self) -> bool: ...
    def minorVersion(self) -> int: ...
    def hasMinorVersion(self) -> bool: ...
    def majorVersion(self) -> int: ...
    def hasMajorVersion(self) -> bool: ...


class QUrl(PyQt6.sip.simplewrapper):

    class AceProcessingOption(enum.Flag):
        IgnoreIDNWhitelist = ... # type: QUrl.AceProcessingOption
        AceTransitionalProcessing = ... # type: QUrl.AceProcessingOption

    class UserInputResolutionOption(enum.Flag):
        DefaultResolution = ... # type: QUrl.UserInputResolutionOption
        AssumeLocalFile = ... # type: QUrl.UserInputResolutionOption

    class ComponentFormattingOption(enum.IntFlag):
        PrettyDecoded = ... # type: QUrl.ComponentFormattingOption
        EncodeSpaces = ... # type: QUrl.ComponentFormattingOption
        EncodeUnicode = ... # type: QUrl.ComponentFormattingOption
        EncodeDelimiters = ... # type: QUrl.ComponentFormattingOption
        EncodeReserved = ... # type: QUrl.ComponentFormattingOption
        DecodeReserved = ... # type: QUrl.ComponentFormattingOption
        FullyEncoded = ... # type: QUrl.ComponentFormattingOption
        FullyDecoded = ... # type: QUrl.ComponentFormattingOption

    class UrlFormattingOption(enum.IntFlag):
        None_ = ... # type: QUrl.UrlFormattingOption
        RemoveScheme = ... # type: QUrl.UrlFormattingOption
        RemovePassword = ... # type: QUrl.UrlFormattingOption
        RemoveUserInfo = ... # type: QUrl.UrlFormattingOption
        RemovePort = ... # type: QUrl.UrlFormattingOption
        RemoveAuthority = ... # type: QUrl.UrlFormattingOption
        RemovePath = ... # type: QUrl.UrlFormattingOption
        RemoveQuery = ... # type: QUrl.UrlFormattingOption
        RemoveFragment = ... # type: QUrl.UrlFormattingOption
        PreferLocalFile = ... # type: QUrl.UrlFormattingOption
        StripTrailingSlash = ... # type: QUrl.UrlFormattingOption
        RemoveFilename = ... # type: QUrl.UrlFormattingOption
        NormalizePathSegments = ... # type: QUrl.UrlFormattingOption

    class ParsingMode(enum.Enum):
        TolerantMode = ... # type: QUrl.ParsingMode
        StrictMode = ... # type: QUrl.ParsingMode
        DecodedMode = ... # type: QUrl.ParsingMode

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, url: typing.Optional[str], mode: 'QUrl.ParsingMode' = ...) -> None: ...
    @typing.overload
    def __init__(self, copy: 'QUrl') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __ge__(self, rhs: 'QUrl') -> bool: ...
    def __le__(self, rhs: 'QUrl') -> bool: ...
    def __gt__(self, rhs: 'QUrl') -> bool: ...
    def __lt__(self, rhs: 'QUrl') -> bool: ...
    def matches(self, url: 'QUrl', options: 'QUrl.UrlFormattingOption') -> bool: ...
    def fileName(self, options: 'QUrl.ComponentFormattingOption' = ...) -> str: ...
    def adjusted(self, options: 'QUrl.UrlFormattingOption') -> 'QUrl': ...
    @staticmethod
    def fromStringList(uris: collections.abc.Iterable[typing.Optional[str]], mode: 'QUrl.ParsingMode' = ...) -> list['QUrl']: ...
    @staticmethod
    def toStringList(uris: collections.abc.Iterable['QUrl'], options: 'QUrl.UrlFormattingOption' = ...) -> list[str]: ...
    def query(self, options: 'QUrl.ComponentFormattingOption' = ...) -> str: ...
    @typing.overload
    def setQuery(self, query: typing.Optional[str], mode: 'QUrl.ParsingMode' = ...) -> None: ...
    @typing.overload
    def setQuery(self, query: 'QUrlQuery') -> None: ...
    @typing.overload
    def toDisplayString(self, options: 'QUrl.UrlFormattingOption' = ...) -> str: ...
    @typing.overload
    def toDisplayString(self, options: 'QUrl.ComponentFormattingOption') -> str: ...
    def isLocalFile(self) -> bool: ...
    def swap(self, other: 'QUrl') -> None: ...
    @staticmethod
    def fromUserInput(userInput: typing.Optional[str], workingDirectory: typing.Optional[str] = ..., options: 'QUrl.UserInputResolutionOption' = ...) -> 'QUrl': ...
    @staticmethod
    def setIdnWhitelist(a0: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    @staticmethod
    def idnWhitelist() -> list[str]: ...
    @staticmethod
    def toAce(domain: typing.Optional[str], options: 'QUrl.AceProcessingOption' = ...) -> QByteArray: ...
    @staticmethod
    def fromAce(domain: typing.Union[QByteArray, bytes, bytearray, memoryview], options: 'QUrl.AceProcessingOption' = ...) -> str: ...
    def errorString(self) -> str: ...
    def hasFragment(self) -> bool: ...
    def hasQuery(self) -> bool: ...
    @staticmethod
    def toPercentEncoding(input: typing.Optional[str], exclude: typing.Union[QByteArray, bytes, bytearray, memoryview] = ..., include: typing.Union[QByteArray, bytes, bytearray, memoryview] = ...) -> QByteArray: ...
    @staticmethod
    def fromPercentEncoding(a0: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> str: ...
    def isDetached(self) -> bool: ...
    def detach(self) -> None: ...
    @staticmethod
    def fromEncoded(input: typing.Union[QByteArray, bytes, bytearray, memoryview], mode: 'QUrl.ParsingMode' = ...) -> 'QUrl': ...
    @typing.overload
    def toEncoded(self, options: 'QUrl.UrlFormattingOption' = ...) -> QByteArray: ...
    @typing.overload
    def toEncoded(self, options: 'QUrl.ComponentFormattingOption') -> QByteArray: ...
    @typing.overload
    def toString(self, options: 'QUrl.UrlFormattingOption' = ...) -> str: ...
    @typing.overload
    def toString(self, options: 'QUrl.ComponentFormattingOption') -> str: ...
    def toLocalFile(self) -> str: ...
    @staticmethod
    def fromLocalFile(localfile: typing.Optional[str]) -> 'QUrl': ...
    def isParentOf(self, url: 'QUrl') -> bool: ...
    def isRelative(self) -> bool: ...
    def resolved(self, relative: 'QUrl') -> 'QUrl': ...
    def fragment(self, options: 'QUrl.ComponentFormattingOption' = ...) -> str: ...
    def setFragment(self, fragment: typing.Optional[str], mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def path(self, options: 'QUrl.ComponentFormattingOption' = ...) -> str: ...
    def setPath(self, path: typing.Optional[str], mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def port(self, defaultPort: int = ...) -> int: ...
    def setPort(self, port: int) -> None: ...
    def host(self, a0: 'QUrl.ComponentFormattingOption' = ...) -> str: ...
    def setHost(self, host: typing.Optional[str], mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def password(self, options: 'QUrl.ComponentFormattingOption' = ...) -> str: ...
    def setPassword(self, password: typing.Optional[str], mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def userName(self, options: 'QUrl.ComponentFormattingOption' = ...) -> str: ...
    def setUserName(self, userName: typing.Optional[str], mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def userInfo(self, options: 'QUrl.ComponentFormattingOption' = ...) -> str: ...
    def setUserInfo(self, userInfo: typing.Optional[str], mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def authority(self, options: 'QUrl.ComponentFormattingOption' = ...) -> str: ...
    def setAuthority(self, authority: typing.Optional[str], mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def scheme(self) -> str: ...
    def setScheme(self, scheme: typing.Optional[str]) -> None: ...
    def clear(self) -> None: ...
    def isEmpty(self) -> bool: ...
    def isValid(self) -> bool: ...
    def setUrl(self, url: typing.Optional[str], mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def url(self, options: 'QUrl.UrlFormattingOption' = ...) -> str: ...
    def __repr__(self) -> str: ...
    def __hash__(self) -> int: ...


class QUrlQuery(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, url: QUrl) -> None: ...
    @typing.overload
    def __init__(self, queryString: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, other: 'QUrlQuery') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __hash__(self) -> int: ...
    @staticmethod
    def defaultQueryPairDelimiter() -> str: ...
    @staticmethod
    def defaultQueryValueDelimiter() -> str: ...
    def removeAllQueryItems(self, key: typing.Optional[str]) -> None: ...
    def allQueryItemValues(self, key: typing.Optional[str], options: QUrl.ComponentFormattingOption = ...) -> list[str]: ...
    def queryItemValue(self, key: typing.Optional[str], options: QUrl.ComponentFormattingOption = ...) -> str: ...
    def removeQueryItem(self, key: typing.Optional[str]) -> None: ...
    def addQueryItem(self, key: typing.Optional[str], value: typing.Optional[str]) -> None: ...
    def hasQueryItem(self, key: typing.Optional[str]) -> bool: ...
    def queryItems(self, options: QUrl.ComponentFormattingOption = ...) -> list[tuple[str, str]]: ...
    def setQueryItems(self, query: collections.abc.Iterable[tuple[typing.Optional[str], typing.Optional[str]]]) -> None: ...
    def queryPairDelimiter(self) -> str: ...
    def queryValueDelimiter(self) -> str: ...
    def setQueryDelimiters(self, valueDelimiter: str, pairDelimiter: str) -> None: ...
    def toString(self, options: QUrl.ComponentFormattingOption = ...) -> str: ...
    def setQuery(self, queryString: typing.Optional[str]) -> None: ...
    def query(self, options: QUrl.ComponentFormattingOption = ...) -> str: ...
    def clear(self) -> None: ...
    def isDetached(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def swap(self, other: 'QUrlQuery') -> None: ...


class QUuid(PyQt6.sip.simplewrapper):

    class StringFormat(enum.Enum):
        WithBraces = ... # type: QUuid.StringFormat
        WithoutBraces = ... # type: QUuid.StringFormat
        Id128 = ... # type: QUuid.StringFormat

    class Version(enum.Enum):
        VerUnknown = ... # type: QUuid.Version
        Time = ... # type: QUuid.Version
        EmbeddedPOSIX = ... # type: QUuid.Version
        Md5 = ... # type: QUuid.Version
        Name = ... # type: QUuid.Version
        Random = ... # type: QUuid.Version
        Sha1 = ... # type: QUuid.Version
        UnixEpoch = ... # type: QUuid.Version

    class Variant(enum.Enum):
        VarUnknown = ... # type: QUuid.Variant
        NCS = ... # type: QUuid.Variant
        DCE = ... # type: QUuid.Variant
        Microsoft = ... # type: QUuid.Variant
        Reserved = ... # type: QUuid.Variant

    class Id128Bytes(PyQt6.sip.simplewrapper):

        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, a0: 'QUuid.Id128Bytes') -> None: ...

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, id128: 'QUuid.Id128Bytes', order: QSysInfo.Endian = ...) -> None: ...
    @typing.overload
    def __init__(self, l: int, w1: int, w2: int, b1: int, b2: int, b3: int, b4: int, b5: int, b6: int, b7: int, b8: int) -> None: ...
    @typing.overload
    def __init__(self, string: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QUuid') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __ge__(self, rhs: 'QUuid') -> bool: ...
    def __le__(self, rhs: 'QUuid') -> bool: ...
    def __gt__(self, rhs: 'QUuid') -> bool: ...
    def __lt__(self, rhs: 'QUuid') -> bool: ...
    @staticmethod
    def fromString(string: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> 'QUuid': ...
    @staticmethod
    def fromRfc4122(a0: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> 'QUuid': ...
    def toRfc4122(self) -> QByteArray: ...
    def toByteArray(self, mode: 'QUuid.StringFormat' = ...) -> QByteArray: ...
    def version(self) -> 'QUuid.Version': ...
    def variant(self) -> 'QUuid.Variant': ...
    @staticmethod
    def createUuidV7() -> 'QUuid': ...
    @typing.overload
    @staticmethod
    def createUuidV5(ns: 'QUuid', baseData: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> 'QUuid': ...
    @typing.overload
    @staticmethod
    def createUuidV5(ns: 'QUuid', baseData: typing.Optional[str]) -> 'QUuid': ...
    @typing.overload
    @staticmethod
    def createUuidV3(ns: 'QUuid', baseData: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> 'QUuid': ...
    @typing.overload
    @staticmethod
    def createUuidV3(ns: 'QUuid', baseData: typing.Optional[str]) -> 'QUuid': ...
    @staticmethod
    def createUuid() -> 'QUuid': ...
    def isNull(self) -> bool: ...
    def toString(self, mode: 'QUuid.StringFormat' = ...) -> str: ...
    def __repr__(self) -> str: ...
    def __hash__(self) -> int: ...


class QVariant(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, obj: typing.Any) -> None: ...
    @typing.overload
    def __init__(self, a0: typing.Optional['QVariant']) -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def typeId(self) -> int: ...
    def canView(self, targetType: QMetaType) -> bool: ...
    def metaType(self) -> QMetaType: ...
    def swap(self, other: typing.Optional['QVariant']) -> None: ...
    def save(self, ds: QDataStream) -> None: ...
    def load(self, ds: QDataStream) -> None: ...
    def clear(self) -> None: ...
    def isNull(self) -> bool: ...
    def isValid(self) -> bool: ...
    def convert(self, type: QMetaType) -> bool: ...
    def canConvert(self, targetType: QMetaType) -> bool: ...
    def typeName(self) -> typing.Optional[str]: ...
    def userType(self) -> int: ...
    def value(self) -> typing.Any: ...


class QVersionNumber(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, seg: collections.abc.Iterable[int]) -> None: ...
    @typing.overload
    def __init__(self, maj: int) -> None: ...
    @typing.overload
    def __init__(self, maj: int, min: int) -> None: ...
    @typing.overload
    def __init__(self, maj: int, min: int, mic: int) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QVersionNumber') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def __ge__(self, rhs: 'QVersionNumber') -> bool: ...
    def __le__(self, rhs: 'QVersionNumber') -> bool: ...
    def __gt__(self, rhs: 'QVersionNumber') -> bool: ...
    def __lt__(self, rhs: 'QVersionNumber') -> bool: ...
    def __hash__(self) -> int: ...
    @staticmethod
    def fromString(string: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> typing.Tuple['QVersionNumber', typing.Optional[int]]: ...
    def toString(self) -> str: ...
    @staticmethod
    def commonPrefix(v1: 'QVersionNumber', v2: 'QVersionNumber') -> 'QVersionNumber': ...
    @staticmethod
    def compare(v1: 'QVersionNumber', v2: 'QVersionNumber') -> int: ...
    def isPrefixOf(self, other: 'QVersionNumber') -> bool: ...
    def segmentCount(self) -> int: ...
    def segmentAt(self, index: int) -> int: ...
    def segments(self) -> list[int]: ...
    def normalized(self) -> 'QVersionNumber': ...
    def microVersion(self) -> int: ...
    def minorVersion(self) -> int: ...
    def majorVersion(self) -> int: ...
    def isNormalized(self) -> bool: ...
    def isNull(self) -> bool: ...


class QWaitCondition(PyQt6.sip.simplewrapper):

    def __init__(self) -> None: ...

    def wakeAll(self) -> None: ...
    def wakeOne(self) -> None: ...
    @typing.overload
    def wait(self, lockedMutex: typing.Optional[QMutex], deadline: QDeadlineTimer = ...) -> bool: ...
    @typing.overload
    def wait(self, lockedMutex: typing.Optional[QMutex], time: int) -> bool: ...
    @typing.overload
    def wait(self, lockedReadWriteLock: typing.Optional[QReadWriteLock], deadline: QDeadlineTimer = ...) -> bool: ...
    @typing.overload
    def wait(self, lockedReadWriteLock: typing.Optional[QReadWriteLock], time: int) -> bool: ...


class QXmlStreamAttribute(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, qualifiedName: typing.Optional[str], value: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, namespaceUri: typing.Optional[str], name: typing.Optional[str], value: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QXmlStreamAttribute') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def isDefault(self) -> bool: ...
    def value(self) -> str: ...
    def prefix(self) -> str: ...
    def qualifiedName(self) -> str: ...
    def name(self) -> str: ...
    def namespaceUri(self) -> str: ...


class QXmlStreamNamespaceDeclaration(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, prefix: typing.Optional[str], namespaceUri: typing.Optional[str]) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QXmlStreamNamespaceDeclaration') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def namespaceUri(self) -> str: ...
    def prefix(self) -> str: ...


class QXmlStreamNotationDeclaration(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QXmlStreamNotationDeclaration') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def publicId(self) -> str: ...
    def systemId(self) -> str: ...
    def name(self) -> str: ...


class QXmlStreamEntityDeclaration(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QXmlStreamEntityDeclaration') -> None: ...

    def __eq__(self, other: object): ...
    def __ne__(self, other: object): ...
    def value(self) -> str: ...
    def publicId(self) -> str: ...
    def systemId(self) -> str: ...
    def notationName(self) -> str: ...
    def name(self) -> str: ...


class QXmlStreamEntityResolver(PyQt6.sip.simplewrapper):

    def __init__(self) -> None: ...

    def resolveUndeclaredEntity(self, name: typing.Optional[str]) -> str: ...


class QXmlStreamReader(PyQt6.sip.simplewrapper):

    class Error(enum.Enum):
        NoError = ... # type: QXmlStreamReader.Error
        UnexpectedElementError = ... # type: QXmlStreamReader.Error
        CustomError = ... # type: QXmlStreamReader.Error
        NotWellFormedError = ... # type: QXmlStreamReader.Error
        PrematureEndOfDocumentError = ... # type: QXmlStreamReader.Error

    class ReadElementTextBehaviour(enum.Enum):
        ErrorOnUnexpectedElement = ... # type: QXmlStreamReader.ReadElementTextBehaviour
        IncludeChildElements = ... # type: QXmlStreamReader.ReadElementTextBehaviour
        SkipChildElements = ... # type: QXmlStreamReader.ReadElementTextBehaviour

    class TokenType(enum.Enum):
        NoToken = ... # type: QXmlStreamReader.TokenType
        Invalid = ... # type: QXmlStreamReader.TokenType
        StartDocument = ... # type: QXmlStreamReader.TokenType
        EndDocument = ... # type: QXmlStreamReader.TokenType
        StartElement = ... # type: QXmlStreamReader.TokenType
        EndElement = ... # type: QXmlStreamReader.TokenType
        Characters = ... # type: QXmlStreamReader.TokenType
        Comment = ... # type: QXmlStreamReader.TokenType
        DTD = ... # type: QXmlStreamReader.TokenType
        EntityReference = ... # type: QXmlStreamReader.TokenType
        ProcessingInstruction = ... # type: QXmlStreamReader.TokenType

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, device: typing.Optional[QIODevice]) -> None: ...
    @typing.overload
    def __init__(self, data: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...

    def hasStandaloneDeclaration(self) -> bool: ...
    def setEntityExpansionLimit(self, limit: int) -> None: ...
    def entityExpansionLimit(self) -> int: ...
    def skipCurrentElement(self) -> None: ...
    def readNextStartElement(self) -> bool: ...
    def entityResolver(self) -> typing.Optional[QXmlStreamEntityResolver]: ...
    def setEntityResolver(self, resolver: typing.Optional[QXmlStreamEntityResolver]) -> None: ...
    def hasError(self) -> bool: ...
    def error(self) -> 'QXmlStreamReader.Error': ...
    def errorString(self) -> str: ...
    def raiseError(self, message: typing.Optional[str] = ...) -> None: ...
    def dtdSystemId(self) -> str: ...
    def dtdPublicId(self) -> str: ...
    def dtdName(self) -> str: ...
    def entityDeclarations(self) -> list[QXmlStreamEntityDeclaration]: ...
    def notationDeclarations(self) -> list[QXmlStreamNotationDeclaration]: ...
    def addExtraNamespaceDeclarations(self, extraNamespaceDeclaractions: collections.abc.Iterable[QXmlStreamNamespaceDeclaration]) -> None: ...
    def addExtraNamespaceDeclaration(self, extraNamespaceDeclaraction: QXmlStreamNamespaceDeclaration) -> None: ...
    def namespaceDeclarations(self) -> list[QXmlStreamNamespaceDeclaration]: ...
    def text(self) -> str: ...
    def processingInstructionData(self) -> str: ...
    def processingInstructionTarget(self) -> str: ...
    def prefix(self) -> str: ...
    def qualifiedName(self) -> str: ...
    def namespaceUri(self) -> str: ...
    def name(self) -> str: ...
    def readElementText(self, behaviour: 'QXmlStreamReader.ReadElementTextBehaviour' = ...) -> str: ...
    def attributes(self) -> 'QXmlStreamAttributes': ...
    def characterOffset(self) -> int: ...
    def columnNumber(self) -> int: ...
    def lineNumber(self) -> int: ...
    def documentEncoding(self) -> str: ...
    def documentVersion(self) -> str: ...
    def isStandaloneDocument(self) -> bool: ...
    def isProcessingInstruction(self) -> bool: ...
    def isEntityReference(self) -> bool: ...
    def isDTD(self) -> bool: ...
    def isComment(self) -> bool: ...
    def isCDATA(self) -> bool: ...
    def isWhitespace(self) -> bool: ...
    def isCharacters(self) -> bool: ...
    def isEndElement(self) -> bool: ...
    def isStartElement(self) -> bool: ...
    def isEndDocument(self) -> bool: ...
    def isStartDocument(self) -> bool: ...
    def namespaceProcessing(self) -> bool: ...
    def setNamespaceProcessing(self, a0: bool) -> None: ...
    def tokenString(self) -> str: ...
    def tokenType(self) -> 'QXmlStreamReader.TokenType': ...
    def readNext(self) -> 'QXmlStreamReader.TokenType': ...
    def atEnd(self) -> bool: ...
    def clear(self) -> None: ...
    def addData(self, data: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    def device(self) -> typing.Optional[QIODevice]: ...
    def setDevice(self, device: typing.Optional[QIODevice]) -> None: ...


class QXmlStreamWriter(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, device: typing.Optional[QIODevice]) -> None: ...
    @typing.overload
    def __init__(self, array: typing.Optional[typing.Union[QByteArray, bytes, bytearray, memoryview]]) -> None: ...

    def hasError(self) -> bool: ...
    def writeCurrentToken(self, reader: QXmlStreamReader) -> None: ...
    @typing.overload
    def writeStartElement(self, namespaceUri: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    @typing.overload
    def writeStartElement(self, qualifiedName: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    @typing.overload
    def writeStartDocument(self, version: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], standalone: bool) -> None: ...
    @typing.overload
    def writeStartDocument(self, version: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    @typing.overload
    def writeStartDocument(self) -> None: ...
    def writeProcessingInstruction(self, target: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], data: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]] = ...) -> None: ...
    def writeDefaultNamespace(self, namespaceUri: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    def writeNamespace(self, namespaceUri: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], prefix: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]] = ...) -> None: ...
    def writeEntityReference(self, name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    def writeEndElement(self) -> None: ...
    def writeEndDocument(self) -> None: ...
    @typing.overload
    def writeTextElement(self, namespaceUri: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], text: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    @typing.overload
    def writeTextElement(self, qualifiedName: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], text: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    @typing.overload
    def writeEmptyElement(self, namespaceUri: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    @typing.overload
    def writeEmptyElement(self, qualifiedName: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    def writeDTD(self, dtd: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    def writeComment(self, text: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    def writeCharacters(self, text: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    def writeCDATA(self, text: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    def writeAttributes(self, attributes: 'QXmlStreamAttributes') -> None: ...
    @typing.overload
    def writeAttribute(self, namespaceUri: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], value: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    @typing.overload
    def writeAttribute(self, qualifiedName: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], value: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> None: ...
    @typing.overload
    def writeAttribute(self, attribute: QXmlStreamAttribute) -> None: ...
    def autoFormattingIndent(self) -> int: ...
    def setAutoFormattingIndent(self, spaces: int) -> None: ...
    def autoFormatting(self) -> bool: ...
    def setAutoFormatting(self, a0: bool) -> None: ...
    def device(self) -> typing.Optional[QIODevice]: ...
    def setDevice(self, device: typing.Optional[QIODevice]) -> None: ...


class QXmlStreamAttributes(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QXmlStreamAttributes') -> None: ...

    def __contains__(self, value: QXmlStreamAttribute) -> int: ...
    @typing.overload
    def __delitem__(self, i: int) -> None: ...
    @typing.overload
    def __delitem__(self, slice: slice) -> None: ...
    @typing.overload
    def __setitem__(self, i: int, value: QXmlStreamAttribute) -> None: ...
    @typing.overload
    def __setitem__(self, slice: slice, list: 'QXmlStreamAttributes') -> None: ...
    @typing.overload
    def __getitem__(self, i: int) -> QXmlStreamAttribute: ...
    @typing.overload
    def __getitem__(self, slice: slice) -> 'QXmlStreamAttributes': ...
    def __eq__(self, other: object): ...
    @typing.overload
    def __iadd__(self, other: 'QXmlStreamAttributes') -> 'QXmlStreamAttributes': ...
    @typing.overload
    def __iadd__(self, value: QXmlStreamAttribute) -> 'QXmlStreamAttributes': ...
    def __ne__(self, other: object): ...
    def size(self) -> int: ...
    def replace(self, i: int, value: QXmlStreamAttribute) -> None: ...
    def resize(self, size: int) -> None: ...
    @typing.overload
    def remove(self, i: int) -> None: ...
    @typing.overload
    def remove(self, i: int, count: int) -> None: ...
    def prepend(self, value: QXmlStreamAttribute) -> None: ...
    def lastIndexOf(self, value: QXmlStreamAttribute, from_: int = ...) -> int: ...
    def last(self) -> QXmlStreamAttribute: ...
    def isEmpty(self) -> bool: ...
    def insert(self, i: int, value: QXmlStreamAttribute) -> None: ...
    def indexOf(self, value: QXmlStreamAttribute, from_: int = ...) -> int: ...
    def first(self) -> QXmlStreamAttribute: ...
    def fill(self, value: QXmlStreamAttribute, size: int = ...) -> None: ...
    def data(self) -> typing.Optional[PyQt6.sip.voidptr]: ...
    def __len__(self) -> int: ...
    @typing.overload
    def count(self, value: QXmlStreamAttribute) -> int: ...
    @typing.overload
    def count(self) -> int: ...
    def contains(self, value: QXmlStreamAttribute) -> bool: ...
    def clear(self) -> None: ...
    def at(self, i: int) -> QXmlStreamAttribute: ...
    @typing.overload
    def hasAttribute(self, namespaceUri: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> bool: ...
    @typing.overload
    def hasAttribute(self, qualifiedName: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> bool: ...
    @typing.overload
    def append(self, namespaceUri: typing.Optional[str], name: typing.Optional[str], value: typing.Optional[str]) -> None: ...
    @typing.overload
    def append(self, qualifiedName: typing.Optional[str], value: typing.Optional[str]) -> None: ...
    @typing.overload
    def append(self, value: QXmlStreamAttribute) -> None: ...
    @typing.overload
    def value(self, namespaceUri: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]], name: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> str: ...
    @typing.overload
    def value(self, qualifiedName: typing.Union[typing.Union[QByteArray, bytes, bytearray, memoryview], typing.Optional[str]]) -> str: ...


class QMutexLocker(PyQt6.sip.simplewrapper):

    @typing.overload
    def __init__(self, mutex: typing.Optional[QMutex]) -> None: ...
    @typing.overload
    def __init__(self, mutex: typing.Optional[QRecursiveMutex]) -> None: ...

    def __exit__(self, type: typing.Any, value: typing.Any, traceback: typing.Any) -> None: ...
    def __enter__(self) -> typing.Any: ...
    def relock(self) -> None: ...
    def unlock(self) -> None: ...
    def mutex(self) -> typing.Union[QMutex, QRecursiveMutex]: ...


PYQT_VERSION = ... # type: int
PYQT_VERSION_STR = ... # type: str
QT_VERSION = ... # type: int
QT_VERSION_STR = ... # type: str


def qYieldCpu() -> None: ...
def qSetRealNumberPrecision(precision: int) -> QTextStreamManipulator: ...
def qSetPadChar(ch: str) -> QTextStreamManipulator: ...
def qSetFieldWidth(width: int) -> QTextStreamManipulator: ...
def Q_RETURN_ARG(type: typing.Any) -> QGenericReturnArgument: ...
def Q_ARG(type: typing.Any, data: typing.Any) -> QGenericArgument: ...
def QT_TRANSLATE_NOOP(a0: str, a1: str) -> str: ...
def QT_TR_NOOP(a0: str) -> str: ...
def pyqtEnum(a0: enum.Enum = ...) -> None: ...
def pyqtClassInfo(a0: typing.Optional[str], a1: typing.Optional[str]) -> None: ...
def qRound64(d: float) -> int: ...
def qRound(d: float) -> int: ...
def qAbs(t: float) -> float: ...
def qFloatDistance(a: float, b: float) -> int: ...
def qQNaN() -> float: ...
def qSNaN() -> float: ...
def qInf() -> float: ...
def qIsNaN(d: float) -> bool: ...
def qIsFinite(d: float) -> bool: ...
def qIsInf(d: float) -> bool: ...
def qFormatLogMessage(type: QtMsgType, context: QMessageLogContext, buf: typing.Optional[str]) -> str: ...
def qSetMessagePattern(messagePattern: typing.Optional[str]) -> None: ...
def qInstallMessageHandler(a0: typing.Optional[collections.abc.Callable[[QtMsgType, QMessageLogContext, typing.Optional[str]], None]]) -> typing.Optional[collections.abc.Callable[[QtMsgType, QMessageLogContext, typing.Optional[str]], None]]: ...
def qWarning(msg: typing.Optional[str]) -> None: ...
def qInfo(msg: typing.Optional[str]) -> None: ...
def qFatal(msg: typing.Optional[str]) -> None: ...
def qDebug(msg: typing.Optional[str]) -> None: ...
def qCritical(msg: typing.Optional[str]) -> None: ...
@typing.overload
def qFuzzyIsNull(line: QLineF) -> bool: ...
@typing.overload
def qFuzzyIsNull(m: QMarginsF) -> bool: ...
@typing.overload
def qFuzzyIsNull(d: float) -> bool: ...
@typing.overload
def qFuzzyIsNull(point: QPointF) -> bool: ...
@typing.overload
def qFuzzyIsNull(rect: QRectF) -> bool: ...
@typing.overload
def qFuzzyIsNull(size: QSizeF) -> bool: ...
@typing.overload
def qFuzzyCompare(lhs: QLineF, rhs: QLineF) -> bool: ...
@typing.overload
def qFuzzyCompare(lhs: QMarginsF, rhs: QMarginsF) -> bool: ...
@typing.overload
def qFuzzyCompare(p1: float, p2: float) -> bool: ...
@typing.overload
def qFuzzyCompare(p1: QPointF, p2: QPointF) -> bool: ...
@typing.overload
def qFuzzyCompare(lhs: QRectF, rhs: QRectF) -> bool: ...
@typing.overload
def qFuzzyCompare(s1: QSizeF, s2: QSizeF) -> bool: ...
def pyqtRestoreInputHook() -> None: ...
def pyqtRemoveInputHook() -> None: ...
def qAddPreRoutine(routine: collections.abc.Callable[[], None]) -> None: ...
def qRemovePostRoutine(a0: typing.Callable[..., None]) -> None: ...
def qAddPostRoutine(a0: typing.Callable[..., None]) -> None: ...
def qChecksum(data: typing.Union[QByteArray, bytes, bytearray, memoryview], standard: Qt.ChecksumType = ...) -> int: ...
@typing.overload
def qUncompress(data: typing.Optional[PyQt6.sip.array[bytes]]) -> QByteArray: ...
@typing.overload
def qUncompress(data: typing.Union[QByteArray, bytes, bytearray, memoryview]) -> QByteArray: ...
@typing.overload
def qCompress(data: typing.Optional[PyQt6.sip.array[bytes]], compressionLevel: int = ...) -> QByteArray: ...
@typing.overload
def qCompress(data: typing.Union[QByteArray, bytes, bytearray, memoryview], compressionLevel: int = ...) -> QByteArray: ...
def qVersion() -> typing.Optional[str]: ...
def qEnvironmentVariableIntValue(varName: typing.Optional[str]) -> typing.Tuple[int, typing.Optional[bool]]: ...
def qEnvironmentVariableIsSet(varName: typing.Optional[str]) -> bool: ...
def qEnvironmentVariableIsEmpty(varName: typing.Optional[str]) -> bool: ...
@typing.overload
def qEnvironmentVariable(varName: typing.Optional[str], defaultValue: typing.Optional[str]) -> str: ...
@typing.overload
def qEnvironmentVariable(varName: typing.Optional[str]) -> str: ...
def pyqtPickleProtocol() -> typing.Optional[int]: ...
def pyqtSetPickleProtocol(a0: typing.Optional[int]) -> None: ...
def qUnregisterResourceData(a0: int, a1: typing.Optional[bytes], a2: typing.Optional[bytes], a3: typing.Optional[bytes]) -> bool: ...
def qRegisterResourceData(a0: int, a1: typing.Optional[bytes], a2: typing.Optional[bytes], a3: typing.Optional[bytes]) -> bool: ...
